c++ 类成员变量初始化总结
最近在学习c++,不同类型的c++成员变量在初始化的时候也有很有的区别,查了一些资料之后再此记录一下:
#include<iostream>
using namespace std; //c++ 类成员变量初始化总结 class Test
{
private:
int var1;//普通变量
int &var2;//引用类型
const int var3;//常成员
static int var4;//静态成员
static const int var5;//静态常成员 有资料说可以在申明的时候直接赋值 但是在vc中测试有错误 public:
Test():
var1(),
var2(var1),//引用成员不能直接赋实际值
var3()//常成员变量必须在构造函数的初始化列表中进行初始化
{
//var1=11;
//普通成员变量也可以放在函数体里,但是本质其实已不是初始化,而是一种普通的运算操作-->赋值运算,效率也低
}
void display()
{
cout<<"int var1:"<<this->var1<<endl;
cout<<"int &var2:"<<this->var2<<endl;
cout<<"const int var3:"<<this->var3<<endl;
cout<<"static int var4:"<<this->var4<<endl;
cout<<"static const int var5:"<<this->var5<<endl; }
}; int Test::var4=;//静态成员
const int Test::var5=;//静态常成员在此初始化的时候需要加上const 变量 int main()
{
Test *test=new Test;
test->display();
return ;
}
c++ 类成员变量初始化总结的更多相关文章
- c++类成员变量初始化相关问题
对于内置变量的自动初始化 代码1 1 #include<stdio.h> 2 #define CONST 100 3 int *p1; 4 int a[2]; 5 int b; 6 sta ...
- c++11之二: 类成员变量初始化
在C++11中, 1.允许非静态成员变量的初始化有多种形式:初始化列表; 使用等号=或花括号{}进行就地的初始化. 可以为同一成员变量既声明就地的列表初始化,又在初始化列表中进行初始化,只不过初始化列 ...
- 吐槽C++:C++ 类成员变量初始化 之 初始化带有参数的构造函数 的类成员变量。
本来我想写这样的代码: class MatchManager{ public: MatchManager() { } class OnTimerRunFuncHelper{ public: OnTim ...
- Java类变量和成员变量初始化过程
一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...
- static 类成员变量 和 static const类成员变量
1.使用static类的优点: (1)避免与其他类的成员或者全局变量冲突 (2)可以封装 (3)阅读性好 2.static 数据成员独立于该类的任意对象而存在 static数据成员的类型可以是该成员所 ...
- Java 类成员的初始化顺序
Java 类成员的初始化顺序 前言:开发中碰到一个Java文件中有很多的成员变量,包括静态和非静态的,还有很多的初始化方法,很好奇这些成员的初始化顺序,在这里作个研究. 1 无继承情况下的Jav ...
- Qt一个project调用还有一个project的类成员变量
一句两句话已经不能表达如今的激动情绪了.唯有感叹知识的博大精深,并把感叹转变为文字. 同一个project调用其它类成员变量很easy. 如: 定义 Test1.h中申明成员变量 class A { ...
- Java构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?
[Java笔试真题]:构造方法.成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的? [解答]:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构 ...
- CB XE7 C11 64位编译器 成员变量初始化
看到了C++11,看到了XE7的64位,想实现下面方便的类成员初始化,失望. 一.64位用法 clang3,64位编译器,不支持中文变量名,编写代码提示没有32位快,风格简单不用写单独的赋值语句函数, ...
随机推荐
- springboot启动异常:java.lang.IllegalArgumentException: Could not resolve placeholder 'xxx.xxx.xxx' in value "${xxx.xxx.xxx}"
场景: 本地启动正常,部署到服务器上启动时启动tomcat失败,显示上面的问题. 原因: 本地打包的时候没有修改指定的配置文件名称(本地只有一份配置文件). 在打包到服务器上时指定的配置文件命名会去查 ...
- ECMAScript 2016(ES7) 知多少
ECMAScript 2016(ES7) 知多少 1. 数组方法 Array.prototype.includes(value : any) : boolean 2. 幂运算符 x ** y 扩展阅读 ...
- webrtc 术语
参考网址 https://webrtcglossary.com/ ORTC stands for Object-RTC.ORTC is an initiative involving Google, ...
- laravel 对于ajax请求返回的数据
ajax在调试器中的位置 XHR 代表 XMlHTTPREQUET 一般ajax请求php的时候我们需要给返回什么数据呢? 一般我都是直接renturn 数组的 其实也没啥问题 但是还是感觉第三种写 ...
- DIDAO.Common --- 项目中的常用类及其中函数
常用函数: CommonHelper.cs using System; using System.Collections.Generic; using System.IO; using System. ...
- 使用Spring AMQP开发消费者应用
前一篇中我们介绍了使用RabbitMQ Java Client访问RabbitMQ的方法.但是使用这种方式访问RabbitMQ,开发者在程序中需要自己管理Connection,Channel对象,Co ...
- POJ 1276 Cash Machine(单调队列优化多重背包)
Cash Machine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 38986 Accepted: 14186 De ...
- String是基本的数据类型吗?
String不是基本的数据类型,是final修饰的java类,java中的基本类型一共有8个,它们分别为: 1 字符类型:byte,char 2 基本整型:short,int,long 3 浮点型:f ...
- 第十章 深入理解Session与Cookie
理解Cookie 理解Session Cookie安全问题 分布式Session框架 Cookie压缩 表单重复提交问题 多终端Session统一
- php字符型转整型
$arr = array(0=>1,"aa"=>2, 3, 4); foreach($arr as $key=>$val){ print($key == &quo ...