看到了C++11,看到了XE7的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;

CB XE7 C11 64位编译器 成员变量初始化的更多相关文章

  1. 64位编译器下,将指针转换成UINT32,不需要修改编译选项的编码方式

    一些严格的64位编译器,将指针转换成UINT32,会报各种丢失精度的错误. 但很显然,有些时候,我们就是需要转换,且并不会真正丢失精度. 此时不需要修改编译选项的编码方式,有些用处了 示例如下: un ...

  2. Java构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?

    [Java笔试真题]:构造方法.成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的? [解答]:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构 ...

  3. c++ 类成员变量初始化总结

    最近在学习c++,不同类型的c++成员变量在初始化的时候也有很有的区别,查了一些资料之后再此记录一下: #include<iostream> using namespace std; // ...

  4. 类内const static(static const)成员变量初始化问题

    在查找const相关资料的过程中,又遇到了另外一个问题,就是C++类中const static(或者static const)成员变量应当如何初始化的问题. 查阅了许多资料,发现VC环境下,只允许co ...

  5. c++类成员变量初始化相关问题

    对于内置变量的自动初始化 代码1 1 #include<stdio.h> 2 #define CONST 100 3 int *p1; 4 int a[2]; 5 int b; 6 sta ...

  6. Java类变量和成员变量初始化过程

    一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...

  7. 【C++】类的特殊成员变量+初始化列表

    参考资料: 1.黄邦勇帅 2.http://blog.163.com/sunshine_linting/blog/static/448933232011810101848652/ 3.http://w ...

  8. c++11 中成员变量初始化的顺序

    参考C++11FAQ https://www.chenlq.net/cpp11-faq-chs 11以后可以直接在类里面初始化成员变量,类似这样 class A { int a=1; const in ...

  9. const成员变量初始化总结

    const可以用来声明常量也就是说他的值不能被修改: const成员必须在定义的时候同时初始化,不能进行赋值 如 const int a:a的值不能修改,不能给它赋值,如何才能让它一开始就拥有一个值? ...

随机推荐

  1. C#删除图片问题

    public Image GetImage(string path) { FileStream fs = new FileStream(path, FileMode.Open, FileAccess. ...

  2. app手机端连接tomcat电脑端服务器

    1.你要在电脑端开启并启动tomcat 2.启动nginx,然后需要在nginx中配置好端口号,每一个app的模块端口号是不一样的,需要你进行更改 3.如下图代表app连接的端口: 4.关于sql过滤 ...

  3. 设置mysql的字符集

    ALTER DATABASE test DEFAULT CHARACTER SET utf8; show variables like 'char%';  

  4. 使用百度地图SDK出现的问题及解决方法

    1. 第一个错误信息如下: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.baiduma ...

  5. generator.xml文件与相关配置插件

    一,generator.xml配置信息 1 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  6. java创建类的5种方式

    1.使用new关键字 } → 调用了构造函数 这种方式,我们可以调用任意的构造函数(无参的和带参数的). 2.使用Class类的newInstance方法 } → 调用了构造函数 使用Class类的n ...

  7. Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介

    ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Con ...

  8. I.MX6 GPS Android HAL Framework 调试

    I.MX6 GPS Android HAL Framework 调试 一.参考文章: android4. GPS定位问题 http://blog.csdn.net/bzw073/article/det ...

  9. 20155224 2016-2017-2 《Java程序设计》第8周学习总结

    20155224 2016-2017-2 <Java程序设计>第X周学习总结 教材学习内容总结 第十四章 NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以设定缓冲区 ...

  10. BZOJ5125: [Lydsy1712月赛]小Q的书架【决策单调性优化DP】【BIT】【莫队】【分治】

    小Q有n本书,每本书有一个独一无二的编号,现在它们正零乱地在地上排成了一排. 小Q希望把这一排书分成恰好k段,使得每段至少有一本书,然后把每段按照现在的顺序依次放到k层书架的每一层上去.将所有书都放到 ...