在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中不應該是可能的。 –