我知道答案是99.99%否,但我认为值得一试,你永远不会知道。voidSomeFunction(inta){//Heresomeprocessinghappensona,forexample:a*=50;a%=10;if(example())a=0;//FromthispointonIwanttomake"a"const;Idon'twanttoallow//anycodepastthiscommenttomodifyitinanyway.}我可以用constintb=a;做一些类似的事情,但实际上并不相同,而且会造成很多困惑。仅C++0x的解决方案是可以接受的。编辑:另一个不那么抽象
我知道答案是99.99%否,但我认为值得一试,你永远不会知道。voidSomeFunction(inta){//Heresomeprocessinghappensona,forexample:a*=50;a%=10;if(example())a=0;//FromthispointonIwanttomake"a"const;Idon'twanttoallow//anycodepastthiscommenttomodifyitinanyway.}我可以用constintb=a;做一些类似的事情,但实际上并不相同,而且会造成很多困惑。仅C++0x的解决方案是可以接受的。编辑:另一个不那么抽象
classmy_class{...my_class(my_classconst&)=delete;...};=delete在这种情况下是什么意思?是否还有其他“修饰符”(=0和=delete除外)? 最佳答案 删除函数是aC++11feature:Thecommonidiomof"prohibitingcopying"cannowbeexpresseddirectly:classX{//...X&operator=(constX&)=delete;//DisallowcopyingX(constX&)=delete;};[...]T
classmy_class{...my_class(my_classconst&)=delete;...};=delete在这种情况下是什么意思?是否还有其他“修饰符”(=0和=delete除外)? 最佳答案 删除函数是aC++11feature:Thecommonidiomof"prohibitingcopying"cannowbeexpresseddirectly:classX{//...X&operator=(constX&)=delete;//DisallowcopyingX(constX&)=delete;};[...]T