c++11相关内容

在 g++ 中是在后台使用 pthreads 的 C++ 11 线程模型吗?

我只是在尝试g++ 4.6 和C++11 功能.每次我使用 -std=c++0x 标志编译一个简单的线程代码时,它要么因分段错误而崩溃,要么只是抛出一些奇怪的异常. 我阅读了一些与 C++11 线程相关的问题,我意识到,我还需要使用 -pthread 标志来正确编译代码.使用 -pthread 工作正常,我能够运行线程代码. 我的问题是,C++11多线程模型是否在后台使用Pthread ..
发布时间:2022-01-23 20:33:25 C/C++开发

“A Tour of C++"中的错误代码还是不兼容的编译器?

我在“A Tour of C++"第 12 页看到了以下函数: int count_x(char const* p, char x){整数计数 = 0;而(p){if (*p == x) ++计数;++p;}返回计数;} while (p) 这行对我来说听起来不太对劲.我认为应该是 while (*p).不过,不想太冒昧,我用下面的代码测试了这个函数. int main(int argc, ..
发布时间:2022-01-23 20:33:15 C/C++开发

g++ 是否满足 std::string C++11 要求

考虑以下示例: int main(){字符串 x = "你好";//这里调用了复制构造函数.字符串 y(x);//c_str return const char*,但这种用法很流行.char* temp = (char*)y.c_str();温度 [0] = 'p';cout 意思是 COW 是不允许的(至少在我的理解中). 怎么可能? g++ 是否满足 std::string C++11 要 ..
发布时间:2022-01-23 20:32:43 C/C++开发

使用 mingw 和 g++ 4.7.2 让 std::thread/mutex 在 Win7 下工作

您好, 我最近搬出我的 unix 避难所来测试一个所谓的跨平台网络库,结果发现 mingw 不喜欢吃 c++11 的东西. 我认为我缺少所需的标头,因为 Win7 不包含 c++11 支持. 用VS2012编译就好了 但 g++ 拒绝. 错误:命名空间“std"中的“线程"没有命名类型错误:命名空间“std"中的“mutex"未命名类型 问题是: 如何获得 c++11 ..
发布时间:2022-01-23 20:30:49 C/C++开发

可变参数模板的 GCC 错误:“抱歉,未实现:无法将“标识符..."扩展为固定长度的参数列表"

在 GCC 上使用 C++11 进行可变参数模板编程时,偶尔会收到一条错误消息,提示“抱歉,未实现:无法将 '标识符...' 扩展为固定长度的参数列表."如果我删除代码中的“...",我会得到一个不同的错误:“错误:参数包没有用'...'扩展". 因此,如果我输入了“...",则 GCC 将其称为错误,如果我将“..."取出,则 GCC 也将其称为错误. 我能够处理这个问题的唯一方法是 ..
发布时间:2022-01-23 20:29:59 C/C++开发

MinGW 4.8.1 C++11 线程支持

我从官网下载了MinGW的版本:http://sourceforge.net/projects/mingw/files/ 并将其安装在我的 Windows 7 机器上. 运行 g++ --version 给了我 g++.exe (GCC) 4.8.1 我相信 GCC 4.8.1 支持 C++11 功能,包括线程. 运行g++ -std=c++11 main.cpp成功编译以下程序. ..
发布时间:2022-01-23 20:29:06 其他开发

“to_string"不是“std"的成员吗?

好的,我有 tmp.cpp: #include 主函数(){std::to_string(0);返回0;} 但是当我尝试编译时,我得到: $ g++ tmp.cpp -o tmptmp.cpp:在函数“int main()"中:tmp.cpp:5:5: 错误:‘to_string’不是‘std’的成员std::to_string(0);^ 我正在运行 g++ 版本 4 ..
发布时间:2022-01-23 20:26:33 服务器开发

类内部引入的类名不被视为嵌套类名

采用这些类定义: 类定义1: 结构 A{结构 B* m_b;}; 类定义2: 结构 A{结构 B;B* m_b;}; 两个类定义都应将 B 声明为嵌套类.至少,通过阅读 C++11 标准草案中的以下内容,我是这么认为的: 9.1/2 类声明将类名引入到声明它的作用域中,并将该名称的任何类、变量、函数或其他声明隐藏在封闭作用域中(3.3).如果在一个范围内声明了一个类名,其中还声 ..
发布时间:2022-01-23 20:20:25 C/C++开发

即使模板函数在任何地方都没有调用,static_assert 也无法编译

我使用带有标志 c++0x 的 g++ 4.6.3(当前是 ubuntu 12.04 的默认包),我偶然发现了这个: 模板内联 T getValue(AnObject&){static_assert(false , "此函数必须为所需类型实现");} 编译错误: static_assertion 失败“必须为所需类型实现此函数" 即使我还没有在任何地方调用此函数. ..
发布时间:2022-01-23 20:13:04 C/C++开发

如何在 gcc 中启用 C++11?

我在 Mac OSX Mountain Lion 上使用来自 http://hpc.sourceforge.net 的 gcc 4.8.1.我正在尝试编译一个使用 中的 to_string 函数的 C++ 程序.我每次都需要使用标志 -std=c++11: g++ -std=c++11 -o testcode1 code1.cpp 有没有办法默认包含这个标志? 解决方案 ..
发布时间:2022-01-23 20:11:30 其他开发

在 C++11 中等待多个条件变量的最佳方法是什么?

首先介绍一下上下文:我正在学习 C++11 中的线程,为此,我正在尝试构建一个小的 actor 类,本质上是这样的(我把异常处理和传播的东西排除在外): 类演员{私有:std::atomic停止;私有:std::condition_variable 中断;私有的:std::thread actor_thread;私人:message_queue incoming_msgs;公开:演员 ..

为什么 std::queue 使用 std::dequeue 作为底层默认容器?

如阅读 cplusplus.com,std::queue 实现如下: 队列被实现为容器适配器,它们是类使用特定容器类的封装对象作为其底层容器,提供一组特定的成员函数访问它的元素.元素被推入特定容器并从其“前面"弹出. 底层容器可能是标准容器类之一模板或其他一些专门设计的容器类.这底层容器应至少支持以下操作: ...... 标准容器类 deque 和 list 满足这些要求要 ..
发布时间:2022-01-21 12:22:26 C/C++开发

尝试使用该类的结构中的变量创建自定义类的优先级队列

所以这是我的类,目标是使 bnode 的优先级队列按顺序排列,以便具有最低计数符号的 bnode 具有最高优先级.这是我的代码: 结构符号{显式符号(char av = 0, int ac = 0) : value(av), count(ac) { }字符值;//实际交易品种,默认为 0(空)整数计数;//交易品种计数,默认为 0};//象征//比较两个符号//计数较低的符号是计数较高的“小于" ..
发布时间:2022-01-21 12:07:48 C/C++开发