CB XE7 C11 64位编译器 成员变量初始化

看到了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;

转载于:https://www.cnblogs.com/cb168/p/4284204.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值