2012-03-31 62 views
0

freeze方法,它使一个对象动态地变成一个常量。有没有办法在C++中实现这一点?比如先给std::string赋值,然后锁定它以防止进一步修改。什么是C++中的对象#冻结对应的红宝石?

+1

像'const std :: string s =“Hello world!”;'? – 2012-03-31 09:45:02

+0

没有通用*动态*等价物;您通常使用常量对象用于类似的目的。 – Philipp 2012-03-31 09:59:50

回答

1

您声明该对象为const

通过使用const预选赛创建的同时&任何尝试该方案将导致不确定的行为,这基本上意味着用户从修改它禁止过程中修改该对象可以初始化对象,这将模拟冻结您正在查找的效果。

+0

如果我想将字符串更改两次,之后我想将其变为const,该怎么办? – 2012-03-31 09:59:32

+0

@ P.S.V.R:不可能。我在答案中提到的是您可以在标准C++中获得的内容。 – 2012-03-31 10:01:13