const相关内容

值是sizeof(枚举)==的sizeof(INT),总?

值是sizeof(枚举)==的sizeof(INT),总? 或者是编译器相关的? 这是错误的说法,因为编译器是为字长优化(内存对齐),即Ÿint是在一个特定的编译器的字长?是否就意味着没有惩罚的处理,如果我用枚举,因为他们将字对齐? 岂不是更好,如果我把所有的收益codeS在一个枚举,因为我显然不担心它的值获得,只有同时检查返回类型的名称。如果是这样的话不会#DEFINE更好,因为这将节 ..
发布时间:2016-08-17 21:48:01 C/C++

难道" const的"仅仅意味着只读或更多的东西?

这是什么常量究竟意味着什么?只读似乎来封装它的意义对我来说,可是,我不知道我是对的。 如果只读和常量是不同的,有人能告诉我为什么吗? 是什么促使这个问题是这个答案他指出常量“刚”是指只读C.我以为那是的所有的常量的意思,不管它是否是C或C ++。他是什么意思? 有关答复的具体差异常量用C VS C ++中,我创建了一个新问题:的如何" const的"在C和C ++有什么不 ..
发布时间:2016-08-17 21:38:08 C/C++开发

是否常量,正确性给出优化编译器更多的空间?

我知道,它提高了可读性,使得程序不容易出错,但需要多少提高性能?​​ 和上一个侧面说明,什么是引用和常量指针之间的主要区别?我假设他们存储在内存不同,但怎么回事? 感谢。 解决方案 [编辑:好的,所以这个问题更加微妙比我起初以为] 声明一个指针到const或引用的const的帮助从来没有任何编译器优化什么。 (虽然看到这个答案底部的更新。) 的常量声明仅表示如何标识符会内的使用范围 ..
发布时间:2016-08-17 21:22:39 C/C++开发

const int的对INT常量在C ++和C函数参数

快速的问题: INT testfunc1(const int的一) { 返回; }INT testfunc2(INT常量一) { 返回; } 是这两个功能在各方面相同或者是有区别吗?我感兴趣的C语言的答案,但如果有一些感兴趣的C ++情况下,我想知道为好。 解决方案 常量牛逼和 T常量是相同的。注意指针precedence,但是: 字符常量* 是一个指向一个常量字符(阵列 ..
发布时间:2016-08-17 21:20:12 C/C++开发

是字符串常量?

GCC和Clang的两个,如果我分配一个字符串到的char *不要抱怨,使用大量的迂腐选项(即使 -Wall -W -pedantic -std = C99 ) 字符*富=“酒吧”; 而他们(当然),如果我分配一个为const char *不要抱怨到的char * 。 这是否意味着字符串被认为是的char *的键入?难道他们不应该是为const char * ?它没有定义的行为,如果他们得到 ..
发布时间:2016-08-17 21:17:54 C/C++

为什么我不能转换“的char **'到'为const char * const的*”用C?

以下code段(正确)给出了一个在C预警和++ C中的错误(使用gcc和放大器; G ++分别与3.4.5和4.2.1版本的测试; MSVC似乎并不关心): 的char **一个; 为const char ** B = A; 我能理解并接受这一点。结果 C ++的解决这个问题是要改变b,来是一个const char * const的*,这规避常量,正确性(的 C ++ FAQ )结果的cha ..
发布时间:2016-08-17 21:11:32 C/C++

在C型双指针常量,正确性警告

一个指针非const数据可以隐式转换的指针相同类型的常量数据 为int * X = NULL; INT常量* Y = X; 添加额外的常量预选赛相匹配的额外间接理应以同样的方式:为int * * X = NULL; INT * const的* Y = X; /* 好的 */ INT常量* const的* Z = Y; /* 警告 */ 与海湾合作委员会或锵与 -Wall 标志进行编译,但 ..
发布时间:2016-08-17 21:08:46 C/C++

之前常量或const之后?

要开始,你可能知道,常量可以用来做任何一个对象的数据或指针不修改或两者兼而有之。 const对象* OBJ; //不能改变数据 对象* const的OBJ; //不能改变指针 const对象* const的OBJ; //不能改变数据或指针 不过你也可以使用的语法:对象常量* OBJ; //一样的const对象* OBJ; 这似乎无关紧要的唯一的事情就是你把其中星号侧常量关键字。我个人p ..
发布时间:2016-08-17 20:46:59 C/C++开发

常量指针VS指针上一个恒定值

什么是下面的声明之间的区别? char * const的一个; 为const char * A; 为了理解我写了这个小程序的区别是:的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT; INT主(INT ARGC,字符** argv的) { 所以char a ='X'; 焦炭B ='Y'; char * const的PC1 =安 ..
发布时间:2016-08-17 20:46:43 C/C++

是什么char * const的,并为const char *之间的区别?

有什么区别: char * const的 和为const char * 解决方案 不同的是,为const char * 是一个指向一个为const char ,而 char * const的是一个常量指针字符。 被指向的第一,值不能被改变,但指针即可。第二,该值被指向可以改变但指针不能(类似于参考)。 有也是为const char * const的 这是一个常量指针,以一个恒 ..
发布时间:2016-08-17 20:33:15 C/C++

什么是字符串的C和C ++的类型?

什么是串用C字面的类型?它是的char * 或为const char * 或为const char * const的? 什么C ++? 解决方案 在C字符串文字的类型是的char [] - 这不是常量,但它是不确定的行为要修改的内容。此外,具有相同内容(或足够相同内容的)2个不同的字符串可能或不可能共享相同的数组元素。 从C99标准6.4.5 / 5“字符串文字 - 语义” 在翻 ..
发布时间:2016-08-17 20:23:58 C/C++开发

是什么const int的* const int的* const的,和INT常量*之间的区别?

我总是搞砸了如何使用 const int的* , const int的*常量和 INT常量* 正确。有没有定义,你可以和不能做什么的一套规则? 我想知道所有的做的和不该做的所有任务中的角度,传递到功能等。 解决方案 阅读它向后(由顺时针/驱动螺旋规则)... 为int * - 指针为int INT常量* - 指向const int的 为int * const的 - 常量指针为i ..
发布时间:2016-08-17 20:21:00 C/C++开发

BOOST_TYPEOF返回int const int的,而不是

能否请您解释一下为什么这个版画 1 ?不应该 BOOST_TYPEOF 收益 const int的。如何可以检查函数返回常量不使用C ++ 11的功能? 的#include<&iostream的GT;#包括LT&;提升/ typeof运算/ typeof.hpp> #包括LT&;升压/ type_traits / is_same.hpp>const int的f_const_in ..
发布时间:2016-08-12 18:35:04 C/C++开发

是否所有的一类属性常量需要有成员函数声明为const呢?

标题已经说明了一切。让我扩大一点不过:我类,其所有属性常量: 模板<烫发类= Perm16> 类PermutationGroup { 上市: 使用StrongGeneratingSet =的std ::矢量<的std ::矢量<烫发>取代; 常量的std ::字符串名称; 常量uint64_t中N; 常量StrongGeneratingSet SGS; ..
发布时间:2016-07-21 22:39:25 C/C++开发

在C#中的DateTime常数

我想提出一个恒定的日期和时间中的一个属性的参数,我怎么做一个恒定的日期时间?它涉及到 ValidationAttribute 的EntLib验证应用程序块,但也适用于其他属性为好。 当我这样做: 私人的DateTime _lowerbound =新日期时间(2011年,1,1); [DateTimeRangeValidator(_lowerbound) 我会得到:的对象引用是必需的非静态字 ..
发布时间:2016-07-21 22:33:57 C#/.NET

C ++ - 恒和优化

我在优化我的应用程序和编译的一些热点正在使用 GCC-手臂完成的。 现在,有没有机会,下面的语句导致不同的汇编code: 静态常量pixel_t roundedwhite = 4294572537U; 返回(包装> = roundedwhite)? purewhite:包装;// 要么 常量pixel_t roundedwhite = 4294572537U; 返回(包装> = r ..
发布时间:2016-07-18 21:02:03 C/C++开发

C:在常量数组的维数报告错误

的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT;const int的N = 5;诠释的main() { INT vett [N] = {1,2,3,4,5}; 返回0; } 什么是code,这部分的问题?编译器报告我这些错误和警告:错误:可变大小的物体可能无法初始化 警告:在数组初始化多余的元素[默认启用] 警告:(近初始化“vett ..
发布时间:2016-06-03 22:10:18 其他开发