by Anonymous » 19 Aug 2025, 01:28
#include
#include
int main() {
const int length = 10000;
double* A = (double*)malloc(length*sizeof(double));
double* first = A;
double* last = A + length-1;
free(A);
ptrdiff_t diff = last - first;
}
< /code>
In C und C ++, ist es gut definiert, den Unterschied von zwei Zeigern zu nutzen, die auf einige Orte auf demselben Array hinweisen, nachdem es verkauft wurde? Der Puffer wird neu zugewiesen, und ich muss die Zeiger ändern. Ich mache dies, indem ich den Unterschied zwischen Zeiger N und Zeiger 0 im Zeiger -Array nach der Neugewinnung des Puffers berechnet. (Natürlich kann ich die Unterschiede vor der Neuzuweisung berechnen und sie speichern, aber ich bin ein bisschen neugierig.)
#include
#include
int main() {
const int length = 10000;
double* A = (double*)malloc(length*sizeof(double));
double* first = A;
double* last = A + length-1;
free(A);
ptrdiff_t diff = last - first;
}
< /code>
In C und C ++, ist es gut definiert, den Unterschied von zwei Zeigern zu nutzen, die auf einige Orte auf demselben Array hinweisen, nachdem es verkauft wurde? Der Puffer wird neu zugewiesen, und ich muss die Zeiger ändern. Ich mache dies, indem ich den Unterschied zwischen Zeiger N und Zeiger 0 im Zeiger -Array nach der Neugewinnung des Puffers berechnet. (Natürlich kann ich die Unterschiede vor der Neuzuweisung berechnen und sie speichern, aber ich bin ein bisschen neugierig.)