C++11 标准容器是“最终的”吗?
我们(应该)知道 C++ 标准库容器,包括 std::string,并不意味着可以继承。但尽管如此,C++98/03 确实允许我们这样做,即使它会导致错误。 既然 fina…
如何修改 C++ 的 What 字符串运行时错误?
我有一个继承自 std::runtime_error 的类,如下所示: #include #include class SomeEx : public std::runtime_error { public: SomeEx(const std::st…
C++替换 ios::noreplace
我正在使用 fstream 打开文件进行写入。我不想覆盖现有文件,因此经过一番搜索后,我发现了 ios::noreplace。但是当我编译这个时: #include using na…
来自 std::vector的 arma::rowvec ;
我有一个 std::vector,我想将其转换为 arma::rowvec 我已经完成: vector x = foo(); rowvec a; vector::const_iterator iter2; int j = 0; for(iter…
如何将 char 数组放入 std::string
我分配一个 char 数组,然后需要将其作为字符串返回,但我不想复制该 char 数组,然后释放其内存。 char* value = new char[required]; f(name, requi…
与指针向量一起使用的对象向量
gSoap 生成的代理对象表明我应该使用指针向量: class SOAP_CMAC ota__RoomStayTypeRoomRates { public: std::vectorRoomRate; //.... }; 而不是使用…
必须是 C++标准库可以用 C++ 实现吗?
符合 C++ 标准库的实现必须用 C++ 实现吗? 如果不是,是否允许做纯 C++ 和 C++ 中无法完成的神奇事情?标准库和一些实现定义的行为? 我知道有依赖…
是否可以使用“std”命名空间来限定 C 函数?
当我使用从 C 继承的函数时,例如 或 中的函数,我是否应该将它们限定为标准命名空间 的一部分std::log,或者我应该保留在 C 范围内并将它们用作全局…
std::insert_iterator 和迭代器失效
我尝试编写一个通用的、就地的 intersperse 函数。该函数应将给定元素分散到元素序列中。 #include #include #include #include template void inters…
如何对 std::stack 使用 boost::serialization?
我知道我们可以将 boost::serialization 用于 std::vector 、 list 、map 等,只要我包含相应的 boost 头文件,例如: #include 但是如何将 boost::se…
为什么 std::string 没有虚拟析构函数?
当我从事一个涉及用给定语言定义句子的项目时,我惊讶地发现 std::string 析构函数不是虚拟的。这使得专门化变得更加困难这个类(我必须创建一个包装…
在 C++ 中的函数参数中使用构造函数是否安全?
此 C++ 代码在 Visual Studio 2010 中失败: const sregex_iterator end; for (sregex_iterator match(origString.begin(), origString.end(), regex(…
当我使用 C++11 兼容编译器编译 boost 1.48\1.47 代码时,我最终会得到像 share_ptr 这样的东西的 std 实现吗?
当我使用 C++11 兼容编译器编译 boost 1.48\1.47 代码时,我最终会得到 share_ptr、线程等内容的 std 实现吗?如果不是的话,boost 对此有何看法,它…
std::string 的默认容量?
当我使用默认构造函数创建 std::string 时,堆上是否分配了任何内存?我希望答案不依赖于实施并且是标准化的。考虑以下几点: std::string myString; …