c++11相关内容
我只是在尝试g++ 4.6 和C++11 功能.每次我使用 -std=c++0x 标志编译一个简单的线程代码时,它要么因分段错误而崩溃,要么只是抛出一些奇怪的异常. 我阅读了一些与 C++11 线程相关的问题,我意识到,我还需要使用 -pthread 标志来正确编译代码.使用 -pthread 工作正常,我能够运行线程代码. 我的问题是,C++11多线程模型是否在后台使用Pthread
..
我在“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,
..
考虑以下示例: 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 要
..
您好, 我最近搬出我的 unix 避难所来测试一个所谓的跨平台网络库,结果发现 mingw 不喜欢吃 c++11 的东西. 我认为我缺少所需的标头,因为 Win7 不包含 c++11 支持. 用VS2012编译就好了 但 g++ 拒绝. 错误:命名空间“std"中的“线程"没有命名类型错误:命名空间“std"中的“mutex"未命名类型 问题是: 如何获得 c++11
..
在 GCC 上使用 C++11 进行可变参数模板编程时,偶尔会收到一条错误消息,提示“抱歉,未实现:无法将 '标识符...' 扩展为固定长度的参数列表."如果我删除代码中的“...",我会得到一个不同的错误:“错误:参数包没有用'...'扩展". 因此,如果我输入了“...",则 GCC 将其称为错误,如果我将“..."取出,则 GCC 也将其称为错误. 我能够处理这个问题的唯一方法是
..
我从官网下载了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成功编译以下程序.
..
考虑以下程序: #include 枚举类虚拟{};模板using EnableIf = typename std::enable_if::type;模板using DisableIf = typename std::enable_if::type;模板structdependent_true_typ
..
..
我正在尝试使用 文件系统.我的 CMakeLists.txt 中有 -std=c++11 -std=c++1y.GCC 版本是 4.9.2.但是,我遇到了一个错误: /home/loom/MyProject/src/main.cpp:5:35: 致命错误:experimental/filesystem: No such file or directory#include ^编
..
好的,我有 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
..
我正在尝试使用 g++ 和 -std=c++11 或 c++0x 标志进行编译. 但是,我得到了这个错误 cc1plus:错误:无法识别的命令行选项“-std=c++11" g++ --version g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)版权所有 (C) 2006 Free Software Foundation, Inc.这是免费软件
..
我有: -cygwin 1.7.25 on windows 7/32bit -g++ --version --> g++ (GCC) 4.8.2 -libstdc++.a --> gcc-g++-4.8.2-1 试图制作一个c++你好世界: #include 主函数(){std::string s = "123";int i = std::stoi(s);
..
采用这些类定义: 类定义1: 结构 A{结构 B* m_b;}; 类定义2: 结构 A{结构 B;B* m_b;}; 两个类定义都应将 B 声明为嵌套类.至少,通过阅读 C++11 标准草案中的以下内容,我是这么认为的: 9.1/2 类声明将类名引入到声明它的作用域中,并将该名称的任何类、变量、函数或其他声明隐藏在封闭作用域中(3.3).如果在一个范围内声明了一个类名,其中还声
..
我使用带有标志 c++0x 的 g++ 4.6.3(当前是 ubuntu 12.04 的默认包),我偶然发现了这个: 模板内联 T getValue(AnObject&){static_assert(false , "此函数必须为所需类型实现");} 编译错误: static_assertion 失败“必须为所需类型实现此函数" 即使我还没有在任何地方调用此函数.
..
我在 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 有没有办法默认包含这个标志? 解决方案
..
我只是在启用 -std=c++11 的情况下使用 g++ 4.7(后来的快照之一).我试图编译我现有的一些代码库,一个失败的案例让我有些困惑. 如果有人能解释发生了什么,我将不胜感激. 代码如下: #include #include #include #include 主函数 ( ){std::string s = "abc";
..
我的代码 void build(std::vector>&roots, ...) {尝试 {//使用本地 lock_guard 锁定 mtx 保证在销毁/异常时解锁:std::lock_guardlck (mtx);root.push_back(RKD(...));}捕获(常量 std::bad_alloc&){std::cout
..
首先介绍一下上下文:我正在学习 C++11 中的线程,为此,我正在尝试构建一个小的 actor 类,本质上是这样的(我把异常处理和传播的东西排除在外): 类演员{私有:std::atomic停止;私有:std::condition_variable 中断;私有的:std::thread actor_thread;私人:message_queue incoming_msgs;公开:演员
..
如阅读 cplusplus.com,std::queue 实现如下: 队列被实现为容器适配器,它们是类使用特定容器类的封装对象作为其底层容器,提供一组特定的成员函数访问它的元素.元素被推入特定容器并从其“前面"弹出. 底层容器可能是标准容器类之一模板或其他一些专门设计的容器类.这底层容器应至少支持以下操作: ...... 标准容器类 deque 和 list 满足这些要求要
..
所以这是我的类,目标是使 bnode 的优先级队列按顺序排列,以便具有最低计数符号的 bnode 具有最高优先级.这是我的代码: 结构符号{显式符号(char av = 0, int ac = 0) : value(av), count(ac) { }字符值;//实际交易品种,默认为 0(空)整数计数;//交易品种计数,默认为 0};//象征//比较两个符号//计数较低的符号是计数较高的“小于"
..