5
爲什麼不能正常工作?是否有可能做一些創造性的投射來使這個工作?鑄造初始化器到指針
1: const char* yo1 = "abc";
2: const char* yo2 = { 'a', 'b', 'c', '\0' }; // <-- why can't i do this?
3: printf("%s %s\n", yo1, yo2);
結果:分段故障
2號線沒有做什麼,我希望它做的事。
不! RHS是暫時的,它不保證一直保持。 – nneonneo 2013-02-15 23:53:08
@nneonneo它是一個複合文字。如果在塊範圍聲明,它具有自動存儲持續時間。現在爲什麼downvote請? – ouah 2013-02-15 23:54:35
在C中,是的。但是,只要在C++中使用它,或者在C++模式下編譯它就會變得不安全。所以在我的書中這不是一個安全的做法。 – nneonneo 2013-02-16 00:01:21