c++03相关内容

C ++ 03库和C ++ 11源代码

如果我有在C ++ 03中编写的库,并将其编译为静态库,那么我可以在C ++ 11中使用它吗?也是相反的可能(C ++ 11静态库与C ++ 03)。 更新: 编译器I am using is clang or LLVM 解决方案 这主要取决于你如何在库中使用C ++标准库。 如果您根本不使用它,那么您不太可能遇到任何问题。 如果您使用 libstdc ++ ,那么您可 ..
发布时间:2016-10-14 11:01:06 C/C++开发

这些成员有没有具体的排序?

一位同事告诉我,在以下类型中,所有成员在记忆中都有不明的排序(相对于彼此)。 我怀疑这一点,因为他们都 $ b foo {public:int x; public:int y; public:int z; }; 解决方案 您的同事对于C ++ 03: / p> [C ++ 03:9.2 / 12]: (非联合)类(不包含中间访问限定符),以便稍 ..
发布时间:2016-10-14 10:41:15 C/C++开发

在其中C ++标准的版本“(i + = 10)+ = 10”有未定义的行为?

在C ++中,以下是否有未定义的行为: int i = 0; (i + = 10)+ = 10; 在我的回答 在C和C ++中+ =的结果是什么?这里的细微之处是,默认响应似乎是“是”,而正确的答案是“它取决于C ++标准的版本”。 如果它依赖于标准的版本,请解释UB在哪里和不在哪里。 解决方案 tl; dr :(i + = 10)+中执行的修改 ..
发布时间:2016-10-13 10:21:44 C/C++开发

c样,构造函数和均匀初始化之间有什么区别?

TTBOMK,有三种方式在C ++中初始化变量。 int x = 0; // C-like initialization int x(0); //构造器初始化 int x {0}; //统一初始化 为C ++ 11提供了统一的初始化,用于初始化不同类型的变量,这在C ++ 03中需要不同的语法。 c样,构造函数和均匀初始化之间有什么区别? 解决方案 ..
发布时间:2016-10-13 10:16:31 C/C++开发

C ++代码在C ++ 03和C ++ 11中都是有效的,但是做不同的事情吗?

C ++代码可以同时符合 C ++ 03 标准和 C ++ 11 标准,但根据正在编译的标准执行不同的操作? 解决方案 答案是肯定的。在正面有: 以前隐式复制对象的代码现在会隐式移动它们。 在消极方面,标准附录C列出了几个例子。 字符串文字 #define u8“abc” const char * s = u8“def”; //以前的“abcdef”,现在为“d ..
发布时间:2016-10-11 21:52:51 C/C++开发

C ++中Trigraph序列的用途?

根据C ++'03标准2.3 / 1: 在进行任何其他处理之前, ------ -------------------------------------------------- -------------------- | trigraph |替换| trigraph |替换| trigraph |替换| --------------------------------- ..
发布时间:2016-10-11 21:43:39 C/C++开发

是否合理使用std :: basic_string< t>作为连接缓冲区时目标C ++ 03?

我知道在C ++ 03中,技术上 std :: basic_string 模板不需要有连续的内存。然而,我很好奇现代编译器实际利用这种自由有多少实现存在。例如,如果想要使用 basic_string 接收一些C API的结果(如下面的示例),似乎只是为了将它分配给一个向量 例如: DWORD valueLength = 0; DWORD类型; LONG errorCheck ..
发布时间:2016-10-11 21:38:51 C/C++开发

是否& s [0]指向std :: string中的连续字符?

我正在进行一些维护工作,并且遇到以下情况: std :: string s; s.resize(strLength); // strLength是一个size_t,其中有一个C字符串的长度。 memcpy(& s [0],str,strLength); 我知道使用& s [0]是安全的,如果它是一个std :: vector,但是这是一个安全使用std : ..
发布时间:2016-10-11 21:18:45 C/C++开发

虚拟函数可以有默认参数吗?

如果我声明一个基类(或接口类)并为其一个或多个参数指定一个默认值,那么派生类必须指定相同的默认值,如果没有,那么默认值将显示在派生类中? 附录:我也想了解如何在不同的编译器中处理这些问题,以及在这种情况下对“推荐”做法的任何输入。 解决方案 虚拟可能有默认值。基类中的默认值不会被派生类继承。 使用哪个默认值 - 即基类或派生类' - 由用于调用函数的静态类型确定。如果通过基类对 ..
发布时间:2016-10-11 21:16:46 C/C++开发

为什么我不应该#include< bits / stdc ++。h> ;?

我对我的代码发布了一个问题,其中只有 #include 指令如下: #include 我的老师告诉我这样做,但在评论部分我被告知我不应该 为什么? 解决方案 似乎是Stack Overflow上越来越常见的东西,也许是在当前学年新增加到国家课程中的东西。 我想象的优 ..
发布时间:2016-10-11 20:06:15 C/C++开发

迭代器无效规则

C ++容器的迭代器无效规则是什么? 最好是以汇总列表格式。 (注意:这是一个条目,用于 Stack Overflow的C ++常见问题。如果您想批评在此表单中提供常见问题解答的概念,则在发起所有这一切的meta上的发布将是这样做的地方。这个问题的答案在 C ++聊天室,其中常见问题的想法从第一位开始,所以您的答案很可能会由想出想法的人阅读。) 解决方案 C ++ 11 (来源 ..
发布时间:2016-10-11 19:44:25 C/C++开发

在C ++和C初始化联盟

我建立了一个工作的C库,使用常量,在定义为头文件 typedef结构ÿ{ 工会{ 结构bit_field位; uint8_t有原料[4]; } X; } CardInfo;静态常量CardInfo Y_CONSTANT = {.RAW = {0,0,0,0}}; 我知道 .RAW 初始化是C仅语法。 我如何的方式,这样我可以在C和C使用它们++定义在他们工会的常量。 ..
发布时间:2016-08-21 20:48:52 C/C++开发

如何搜索对象的容器的数据成员的值?

我有一个对象类型如下: 结构T { INT X; 布尔ÿ; }; 和他们这样的容器:的std ::矢量&lt; T&GT;伏; 和一个强烈的愿望,确定&MDASH;的在一个语句的&MDASH;任何诉元素是否具有Ÿ==真。这可能涉及到的std :: find_if 。 我的理解是,的std ::绑定和的boost ::绑定是成员的功能的,不能适用于成员数据。 由于我不喜欢他们, ..
发布时间:2016-08-12 18:20:49 C/C++开发

使用boost创建一个lambda函数,它总是返回true

假设我有一个函数,它接受某种形式的predicate的: 无效美孚(升压::功能&LT;布尔(INT,INT,INT)GT; predicate); 如果我想用predicate总是返回true称呼它,我可以定义一个辅助函数:布尔AlwaysTrue(INT,INT,INT){返回true; } ... 美孚(升压::绑定(AlwaysTrue)); 不过,反正是有,而无需定义一个单独的 ..
发布时间:2016-08-12 18:16:07 C/C++开发