CB XE7 C11 64位编译器 成员变量初始化
2015-02-10 16:11
316 查看
看到了C++11,看到了XE7的64位,想实现下面方便的类成员初始化,失望.
一、64位用法
clang3,64位编译器,不支持中文变量名,编写代码提示没有32位快,风格简单不用写单独的赋值语句函数,一步到位,c#,java都支持的写法。
二、成员变量初始化赋值法
32位不能想64位那样支持成员变量直接初始化语法不支持。
采用成员变量,构造函数初始化赋值方法,兼容64、32。
三、静态成员法
static变量 ,必须用下面的赋值语法。32、64位都支持的语法。
一、64位用法
clang3,64位编译器,不支持中文变量名,编写代码提示没有32位快,风格简单不用写单独的赋值语句函数,一步到位,c#,java都支持的写法。
class TTableNames64 { public: String TB1 = "TB1"; String TB2 = "TB2"; // String 变量a; // error 汉字变量不识别 } TableNames64; //使用只能用一种方式,成员变量 Caption = TTableNames64::TB1;//error invalid use of non-static data member 'TB1' Caption = TableNames64.TB1;
二、成员变量初始化赋值法
32位不能想64位那样支持成员变量直接初始化语法不支持。
采用成员变量,构造函数初始化赋值方法,兼容64、32。
class TTableNames3264 { public: String TB1; // = "TB1"; String TB2; // = "TB2"; TTableNames3264() { TB1 = "TB1"; TB2 = "TB2"; } } TableNames3264; //使用只能用一种方式,成员变量 TTableNames3264::TB1; // error invalid use of non-static data member 'TB1' this->Caption = TableNames3264.TB1;
三、静态成员法
static变量 ,必须用下面的赋值语法。32、64位都支持的语法。
class TTableNamesStatic { public: static String TB1; // = "TB1"; static String TB2; // = "TB2"; } tableNamesStatic; String TTableNamesStatic::TB1 = "ww"; String TTableNamesStatic::TB2 = "ww";
使用的时候 下面2中方式都可以 Caption = TTableNames::TB1; Caption = tableNames.TB1;
相关文章推荐
- 关于类成员变量初始化顺序
- C++中全局变量的编译器初始化值
- LCC编译器的源程序分析(69)全局变量的初始化
- 类的成员变量初始化
- Java 构造方法和成员变量初始化顺序
- c++中什么类型的成员变量只能在构造函数的初始化列表中进行
- Java初始化(成员变量)
- 特殊数据类型成员变量的初始化
- Java中成员变量的初始化过程
- C++构造函数对类成员变量初始化,使用初始化列表和构造函数内部直接赋值 的区别
- C++常量折叠和类中const、static成员变量初始化
- C++类中成员变量的初始化总结
- 常成员变量数组初始化的问题
- 成员变量自动初始化,局部变量必须手动初始化
- Java学习笔记(成员变量的初始化)
- C++成员变量的初始化顺序问题
- 吐槽C++:C++ 类成员变量初始化 之 初始化带有参数的构造函数 的类成员变量。
- 局部变量与成员变量的同名问题&显示初始化
- 使用初始化清单和直接在构造函数内初始化成员变量的区别
- 特殊数据类型成员变量的初始化