相关疑难解决方法(0)

const指针有什么用(与指向const对象的指针相对)?

我经常使用const对象的指针,就像这样......

const int *p;
Run Code Online (Sandbox Code Playgroud)

这只是意味着您无法更改p指向的整数p.但是我也看到了const指针的引用,这样宣称......

int* const p;
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着指针变量本身是不变的 - 你可以改变它整天指向的整数,但你不能指出其他东西.

有什么可能的用途?

c c++ const

28
推荐指数
5
解决办法
1万
查看次数

如何在C++中管理成员变量

简而言之,我的问题是将成员变量作为非托管C++中的指针.

在java或c#中,我们有"高级指针".实际上,我们无法意识到它们中的"指针".我们通常初始化类的成员,如下所示:

member = new Member();
Run Code Online (Sandbox Code Playgroud)

要么

member = null;
Run Code Online (Sandbox Code Playgroud)

但在c ++中,它变得更加混乱.我见过很多样式:使用new,或者将成员变量保留在堆栈中.

在我看来,使用boost::shared_ptr似乎很友好,但在boost本身的源代码中new到处都有.这是效率的问题,不是吗?

是否有像"尽力避免new"或其他什么的行会?

编辑

我意识到说"把它们留在堆栈中"是不恰当的,这里有一个更恰当的说法:当我需要一个object成为我的成员变量时,我应该更喜欢一个而object不是一个object*

c++ oop pointers

2
推荐指数
2
解决办法
502
查看次数

标签 统计

c++ ×2

c ×1

const ×1

oop ×1

pointers ×1