warning 4510 with const member in struct】的更多相关文章

I write a code section as this struct My{const int a;}; OK, then set the warning level then I will got this c:\users\luli1\documents\visual studio 2013\projects\consoleapplication3\header1.h(4): error C2220: warning treated as error - no 'object' fil…
Extraction from C++ primer 5th Edition 7.1.2 The purpose of the const that follows the parameter list of an ordinary member function is to modify the type of the implicit this pointer. By default, the type of this is a const pointer to the nonconst v…
static member variable[可读可写] 可以通过指针间接修改变量的值 static const member variable[只读] 压根就不可以修改变量的值,会报错…
如果一个类只定义了类名,没定义任何方法和字段,如class A{};那么class A的每个实例占用1个字节的内存,编译器会会在这个其实例中安插一个char,以保证每个A实例在内存中有唯一的地址,如A a,b;&a!=&b.如果一个直接或是间接的继承(不是虚继承)了多个类,如果这个类及其父类像A一样没有方法没有字段,那么这个类的每个实例的大小都是1字节,如果有虚继承,那就不是1字节了,每虚继承一个类,这个类的实例就会多一个指向被虚继承父类的指针.还有一点值得说明的就是像A这样的类,编译器不…
//区别⑦:三目运算符(C++版本) #include<iostream> using namespace std; //三目运算符 C语言返回变量的值 C++语言是返回变量本身 void main(){ ; ; a < b ? a : b = ; //C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方 //注意: //三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用 //(a < b ? 1 : b) = 30; system("paus…
Const 的作用及历史 const (computer programming) - Wikipedia 一.历史 按理来说,要想了解一件事物提出的原因,最好的办法就是去寻找当时的历史背景,以及围绕这件事所发生的故事. 可是非常抱歉,我并没没有找到C语言中const 提出的背景,但是一个可以参考的历史是,常量这种数据形式早在汇编语言中就有所体现,汇编语言中的constant 是一个确定的数值,在汇编阶段就可以确定直接编码在于指令代码中,不是保存在寄存器中的可以变化的量. 常量是需求,C 语言没…
char a = 'w'; char b = 'q'; const char* p = &a; p = &b; printf("%c",p[0]); 如上一段代码,最终代码输出q.不是有const修饰嘛?为什么仍然可以改变哪? 指针存在的价值在于让我们修改.如一下代码:会报一个警告deprecated conversion from string constant to 'char*' [-Wwrite-strings] char *msg; msg = "h…
struct内存对齐:gcc与VC的差别 内存对齐是编译器为了便于CPU快速访问而采用的一项技术,对于不同的编译器有不同的处理方法. Win32平台下的微软VC编译器在默认情况下采用如下的对齐规则: 任何基本数据类型T的对齐模数就是T的大小,即sizeof(T).比如对于double类型(8字节),就要求该类型数据的地址总是8的倍数,而char类型数据(1字节)则可以从任何一个地址开始.Linux下的GCC奉行的是另外一套规则:任何2字节大小的数据类型(比如short)的对齐模数是2,而其它所有…
尽管函数名和参数列表都相同,void foo( ) const成员函数是可以与void foo( )并存的,可以形成重载! 我们假设调用语句为obj.foo(),如果obj为non-const对象,则调用foo().如果obj为const对象,则调用foo()const.另外要注意,假如没有提供foo()const,则const obj调用foo()将会报错.但假如是没有提供foo(),则non-const obj调用foo()const是完全没有问题的.也就是说,non-const对象可以调用…
[本文链接] http://www.cnblogs.com/hellogiser/p/cplusplus-const-summay.html 看到const 关键字,C++程序员首先想到的可能是const 常量,这可不是良好的条件反射.如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮.const 更大的魅力是它可以修饰函数的参数.返回值,甚至函数的定义体. const 是constant 的缩写,“恒定不变”的意思.被const 修饰的东西都受到强制保护,可以预防意外的变动,能提…
[cpp] view plaincopy //! 需要包含de头文件 #include <sys/types.h> #include <sys/stat.h> S_ISLNK(st_mode):是否是一个连接.S_ISREG(st_mode):是否是一个常规文件.S_ISDIR(st_mode):是否是一个目录S_ISCHR(st_mode):是否是一个字符设备.S_ISBLK(st_mode):是否是一个块设备S_ISFIFO(st_mode):是否 是一个FIFO文件.S_IS…
参考链接:http://www.cnblogs.com/JCSU/articles/1996483.html 在VC2013中编译以下win32 C++ 控制台程序,会产生2个告警warnings #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]){    int x, y, z;    y = x;    //return 0;} 警告    1    warning C4101: “z”: 未引用的局部变量 错误    …
stat,lstat,fstat1 函数都是获取文件(普通文件,目录,管道,socket,字符,块()的属性.函数原型#include <sys/stat.h> int stat(const char *restrict pathname, struct stat *restrict buf);提供文件名字,获取文件对应属性. int fstat(int filedes, struct stat *buf);通过文件描述符获取文件对应的属性. int lstat(const char *res…
time()提供了秒级的精确度 . 1.头文件 <time.h> 2.函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒数 用time()函数结合其他函数(如:localtime.gmtime.asctime.ctime)可以获得当前系统时间或是标准时间. 如果需要更高的时间精确度,就需要struct timespec 和 struct timeval来处理: 一.struct timespec 定义: typedef l…
time_t到struct tm的转换: #include <time.h> struct tm *localtime(const time_t *timep); struct tm到time_t的转换: #include <time.h> time_t mktime(struct tm *tm); time_t timep = time(NULL);能够获得从此刻距1970-01-01 00:00:00 +0000 (UTC)时间点的秒数. 演示样例程序: #include &l…
http://www.cnblogs.com/Wiseman/archive/2005/10/24/260576.html 摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法. 关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)…
devicetree中数据和structdevice有什么关系 总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数.下面先把其源码中传递过程描述如下(仍以At91rm9200为例): 1, DT_MACHINE_START(at91sam_dt,"Atmel AT91SAM (Device Tree)") /*Maintainer: Atmel */ .timer =&…
原文网址:http://www.cnblogs.com/biglucky/p/4057499.html devicetree中数据和structdevice有什么关系 总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数.下面先把其源码中传递过程描述如下(仍以At91rm9200为例): 1, DT_MACHINE_START(at91sam_dt,"Atmel AT91SAM (…
StandardButton QMessageBox::warning ( QWidget * parent, const QString & title, const QString & text,StandardButtons buttons = Ok, StandardButton defaultButton 将第一个参数设为NULL,就正确了…
C++ Primer 第07章 类 7.1.2 ​Sales_data类的定义如下: #ifndef SALES_DATA_H #define SALES_DATA_H #include <string> #include <iostream> class Sales_data { public: std::string isbn() const {return bookNo;} Sales_data& combine(const Sales_data&); dou…
1 const 传达的意思应该是这个变量是常量不能更改 2 const 在 * 左边表示数据是const,在右边表示指针是const // char greeting[] = "hello"; char* p = greeting; //const *: const data //* const: const pointer char const *p1 = greeting; // const data char * const p2 = greeting; // const poi…
Const可以修饰什么?   Const 关键字是万能的,在类外部,你可以用它修饰全局的或者命名空间范围内的常量,也可以用它来修饰文件,函数和块作用域的静态常量.在类内部,你可以使用它来声明静态或者非静态的数据成员.对于指针来说,你可以指定指针本身是不是const,指针指向的数据是不是const,两者可以同时为const或者两者同时为非const. Char greeting[]="Hello"; Char *p = greeting;//non-const pointer non-c…
const类型变量--------------------------------------int i;const int *p; --------------------------------------int i;int *const p = &i;--------------------------------------int i;const int *const p = &i; 三者有何区别呢?-------------------------------------- 指向…
在使用这个结构体和方法时,需要引入: <sys/types.h> <sys/stat.h> struct stat这个结构体是用来描述一个linux系统文件系统中的文件属性的结构. 可以有两种方法来获取一个文件的属性: 1.通过路径: int stat(const char *path, struct stat *struct_stat); int lstat(const char *path,struct stat *struct_stat); 两个函数的第一个参数都是文件的路径…
本文是Inside C++ Object Model Chapter 2 部分的读书笔记. 编译器如何处理初始化成员列表的. 下列情况中,必须要使用member initialization list进行data member 的初始化: 1) 当初始化一个reference member. 2) 当初始化一个const member. 3) 当调用一个base class 的constructor,而他拥有一组参数的时候. 4) 调用一个member class 的constructor ,而…
在我的文件里有这class NFDuration, NFDuration.h里是这样的: // A Duration represents the elapsed time between two instants // as an int64 nanosecond count. The representation limits the // largest representable duration to approximately 290 years. class NFDuration…
const用在成员函数后 主要是针对类的const 对象 如: class Text{ public:     void printconst(void)const{cout<<"hello"<<endl;}     void print(void){cout<<"hello"<<endl;} private:     int k; }; const Text a; //上面定义了类Text的一常量对象 int mai…
程序清单7.6 #include<iostream> using namespace std; ; int sum_arr(int arr[], int n);//函数声明 void main() { ,,,,,,, }; cout << cookies << " =array address," << sizeof cookies << " =sizeof cookies" << endl;…
参考链接:  http://blog.csdn.net/keyeagle/article/details/6708077/ NOTICE: 静态全局变量 与 普通的全局变量的区别   static 全局变量它只在定义它的源文件内有效,其他源文件无法访问它,  而普通全局变量可以通过 extern 方式使用全局变量 struct:   用.name ="abc" 或  name:"abc" #include <stdio.h> #define uint64…
一.struct timespec 定义: typedef long time_t;#ifndef _TIMESPEC#define _TIMESPECstruct timespec {time_t tv_sec; // seconds long tv_nsec; // and nanoseconds };#endifstruct timespec有两个成员,一个是秒,一个是纳秒, 所以最高精确度是纳秒.一般由函数int clock_gettime(clockid_t, struct times…