c++ - 此功能的问题

标签 c++

我被告知此功能存在问题,但是在进行研究并亲自尝试使用它之后,我似乎无法找到它的问题所在。有人只是想惹我吗?

std::string foo() throw()
{
    std::string s("hello world");
    return s;
}

最佳答案

根据您的编译器设置,如果为字符串内容分配后备内存失败,std::string 可能会从其构造函数中抛出异常。这将违反您放置的 throw() 子句。

否则,代码很好,当然可以缩短:

std::string foo()
{
    return "hello world";
}

关于c++ - 此功能的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35735751/

相关文章:

c++ - 预先为 C++ 应用程序分配内存

c++ - 如何在用户输入特殊字符时退出程序

c++ - 在类中启动的第二个线程中的 OpenGL

c++ - 尝试用 << 连接字符串

c++ - 如何将枚举类用作一组标志?

c++ - segmentation violation Segmentation fault c++ 分子数组中的值

c++ - C++ 中的多个 return 语句和性能

c++ - 为什么reinterpret_cast不是constexpr?

c++ - 将左值传递给右值

c++ - Opencv,命令行 collect2 : error: ld returned 1 exit status 中缺少 DSO