c++ 引用的几个错误用法

[size=medium]

(1):返回临时变量的引用。
std::string & getString()
{
    std::string str("text");
    return str;
}


getString()返回时, str也被销毁了, 所以是引用着一个已被销毁的变量.



(2)函数参数上使用引用时,参数传入了NULL
void print(std::string & str)
{
    std::cout << str << '\n';
}


int main(void)
{
    print(NULL);
    return 0;
}


(NULL不是c++的关键字, NULL一般是0的宏), 编译时并不会错误, 但在运行时就会直接闪退, 因为引用了一个无效的东西.

[/size]

你可能感兴趣的:(C++,引用)