在文章http://www.amse.ru/courses/cpp2/2011_03_21.html中,作者写道:
建议不要对
new可能调用new. 例如,要显示文本,请使用函数printf而不是对象std::cout。
这个建议是关于什么的?违反会带来哪些麻烦?
在文章http://www.amse.ru/courses/cpp2/2011_03_21.html中,作者写道:
建议不要对
new可能调用new. 例如,要显示文本,请使用函数printf而不是对象std::cout。
这个建议是关于什么的?违反会带来哪些麻烦?
好吧,看:这是代码
不会引起问题。但是,如果您取消注释运算符中的一行
new并注释掉第二行 - 甚至编译器也会发疯:) 它只会看到这里的所有内容,但是如果您从另一个调用的文件中间接调用某个函数new Test,那么编译器将无法警告,没有警告就会出现问题。特别是在全局的情况下
new。这里对象
std::cout改变了它的状态,如果在程序中这个对象调用了操作符,那么这个状态就会被“激活”