maf*_*afu 4 c# c++ constructor const readonly
关于readonlyC#提及的C++等价物有很多问题const.然而,到目前为止,我发现没有,据我所知,实际上是正确的,甚至没有提到我在此之后的细节.
可以在ctor(spec)中设置只读字段(甚至多次).这允许在最终确定值之前执行各种操作.另一方面,C++中的Const的行为略有不同(在C++和C#中),因为它需要在ctor运行之前使最终值可用.
有没有办法仍然实现readonlyC++ 的行为?
是的,使用const- 在编译时不必知道该值:
struct X
{
const int a;
X(int y) : a(y) {}
};
//...
int z;
cin >> z;
X x(z); //z not known at compile time
//x.a is z
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用一个允许只设置一次的用户定义结构,但这是过度的(你可能无论如何也无法在编译时强制执行此操作).
| 归档时间: |
|
| 查看次数: |
382 次 |
| 最近记录: |