【发布时间】:2011-07-30 16:00:23
【问题描述】:
我有一个函数 foo(const std::string& str);,如果你使用 foo(NULL) 调用它,它确实会崩溃。
我能做些什么来防止它崩溃?
【问题讨论】:
-
你用 str 里面的 foo 做什么?如果您测试 str 是否为 NULL 并从函数中正常退出,它不应该崩溃。
-
你得到了一些有用的建议,但你确定你正在接近这个权利吗?你为什么使用指针? std::string (和引用)的部分优点是您不必弄乱指针。 (通常)
-
这也是臭名昭著的
std::string s(false)事情的原因。 -
“医生,医生,我这样做的时候好痛!” ;-)