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;
  • 相关阅读:
    冲刺第一天(补发)
    进度条05
    npm start问题
    Spring Boot 默认配置无法访问静态资源
    Spring Boot 返回Html界面
    阿里云配置tomcat后不能访问问题
    Spring Boot Web开发中Thymeleaf模板引擎的使用
    tomcat官网改版后下载方式
    Ubuntu16.04进入无限登录状态的解决办法
    Ubuntu16.04安装MySql5.7
  • 原文地址:https://www.cnblogs.com/cb168/p/4284204.html
Copyright © 2011-2022 走看看