c++ - std::string 相关错误和处理它们,c++

标签 c++

好吧,这可能是一个愚蠢的问题,但我还是会继续问下去。

所以,我想知道,与 std::string 用法相关的所有可能错误是什么?我知道一些,例如在各种 std::string 函数中访问大于 std::string 大小的位置的 char。

在编程时我应该记住哪些错误并进行检查?

有没有另一种方法可以有效地执行以下操作?

std::string s("some string.");

int i = s.find ( "." );


if (  i != std::string::npos    &&  i + 3 < s.length (  )  ) // <<== this check is what I am talking about
    s.erase ( i + 3 );

我有一个程序,需要数百次这样的检查,所以我想知道,还有另一种方法可以每次都执行 if( some_condition )。

最佳答案

你不需要为整个类(class)列出每一个错误案例;只需查找您使用的函数的文档,其中通常会列出先决条件。

例如,cppreference.com's page on std::string::erase .

关于c++ - std::string 相关错误和处理它们,c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18181936/

相关文章:

c++ - CryptGenRandom 和 CNG BCryptGenRandom API 之间的区别

c++ - 我如何检查mysql用户是否具有root用户的权限

c++ - 如何从 C++ 重新启动 Mac OS

c++ - VS2010的std::shared_ptr和boost::shared_ptr的区别

c++ - 为什么谷歌测试 ASSERT_FALSE 在方法中不起作用,但 EXPECT_FALSE 可以

c++ - SHA-1 的 C++ 实现中的错误散列

c++ - 使用一个参数初始化 boost::hana::tuple

c++ - 是否允许通过指向另一个类的实例的指针发出信号?

c++ - 使用正则表达式验证电子邮件和电话字段 Qt

c++ - vector 下标超出范围 - C++