在113页,在C++编程语言 (第三版和特别版),斯特劳斯说:我可以初始化* char吗?
struct address {
char * name ; // "Jim Dandy"
long int number ; // 61
//...
};
void f()
{
address jd ;
jd.name = "Jim Dandy"; // Is this possible?
jd.number = 61 ;
}
这是可能的,因为有没有分配给JD的字符*领域的任何记忆?
更新:谢谢大家的回答!鉴于它不安全,我不会使用它。当我在书中看到它时引起了我的注意。
如果“斯特劳斯指出:”这是可能的,这是绝对有可能:) – dasblinkenlight
@dasblinkenlight:或者至少,这是可能的(但不建议使用)这本书是写的时候。如果不添加'const',它在C++ 11中不应该是可能的。 –