您好,我有一个关于指针的问题。如何在c ++中为指针分配内存?我可以像分配类型一样使用new
关键字吗?在c ++中使用指针而不是仅仅通过变量的优点是什么?它是否会提高计划的效率?
答案 0 :(得分:3)
如何在c ++中为指针分配内存?
与为任何其他对象分配内存的方式相同 - 通过创建一个,作为局部变量,全局变量或静态变量,或者使用动态分配(直接或间接)。例如,如果你在函数中的某个地方写这个:
int* pointerToInt;
它声明了一个指向int
的本地指针(特别是没有int
,直到你指定它为止。)
我可以像分配类型一样使用new关键字吗?
您可以使用与创建任何其他对象相同的方式创建指针(因为指针是对象)。这包括使用new
:
int** pointerToHeapAllocatedPointerToInt = new int*;
在c ++中使用指针而不只是传递变量的优点是什么?
指针对变量做了不同的事情。使用住宅地址而不是房屋有什么好处?好吧,我可以把我的房子地址告诉其他人,但我不能把他们的房子给他们。但我无法入住我家的住址。
它是否会提高程序的效率?
不,它减少了它 有时它会比替代品减少它。