zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    C++实现多项式曲线拟合--polyfit-超定方程
    C# XmlDocument操作XML
    C#下使用XmlDocument详解
    前端常见的9种设计模式
    前端常用的设计模式
    前端需要了解的9种设计模式
    TCP协议详解
    请UI小姐姐喝了一杯奶茶要来的网站
    nodemon 基本配置与使用
    wireshark抓包新手使用教程
  • 原文地址:https://www.cnblogs.com/cb168/p/4284204.html
Copyright © 2011-2022 走看看