这是使用写入指针的函数的正确方法吗?在调用函数之前是否必须为 double*
分配内存?
double *myDouble;
write_to_pointer( myDouble );
最佳答案
你的意思是它写入指针本身,还是写入它指向的内存?
如果是第一个,则通过引用获取指针,例如:
void write_to_pointer(double *& p) {
p = whatever;
}
那么它是正确的,尽管相当困惑。最好把值作为返回值返回,这样赋值更明显:
double *get_pointer() {return whatever;}
double *myDouble = get_pointer();
如果是第二个,则否:指针不指向任何东西,因此尝试取消引用它会产生未定义的行为(通常会崩溃或损坏其他一些程序内存)。它将需要指向一个有效的 double
(或者一个足够大的 double
数组,如果这是函数所期望的)。
关于c++ - 这是初始化指针的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24134790/