c++中关于初始化型参列表的一些问题

简介:

/*
1.成员是按照他们在类中出现的顺序进行初始化的,而不是按照他们在初始化列表出现的顺序初始化的!
   一个好的习惯是,按照成员定义的顺序进行初始化。
2.数组成员在初始化型参列表中不正确 
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;


struct node{
    int i, j;
    int num[12]; 
    //node(int x) : j(x), i(j){}//错误的初始化啊 
    /*
        这里i的值是未定义的因为虽然j在初始化列表里面出现在i前面,但是i先于j定义,所以先初始化i,
        而i由j初始化,此时j尚未初始化,所以导致i的值未定义, 然后才对 j 进行初始化。
    */
    //node(): num[1](1), num[2](3){}//错误的书写 
    node(int x) : i(x), j(i){} 
    void out(){
        cout<<i<<" "<<j<<endl;
    }
}; 

int main(){
    node a(4);
    a.out();
    return 0;
}

目录
相关文章
|
1天前
|
安全 程序员 编译器
【C++类和对象】初始化列表与隐式类型转换
【C++类和对象】初始化列表与隐式类型转换
|
7天前
|
编译器 C++ 容器
【C++11(一)】右值引用以及列表初始化
【C++11(一)】右值引用以及列表初始化
|
7天前
|
编译器 C++
【C++基础(八)】类和对象(下)--初始化列表,友元,匿名对象
【C++基础(八)】类和对象(下)--初始化列表,友元,匿名对象
|
13天前
|
编译器 C++
C++编程之美:探索初始化之源、静态之恒、友情之桥与匿名之韵
C++编程之美:探索初始化之源、静态之恒、友情之桥与匿名之韵
22 0
|
20天前
|
编译器 C++
|
2月前
|
编译器 C++
C++之初始化列表详细剖析
C++之初始化列表详细剖析
|
2月前
|
编译器 C++
【C++练级之路】【Lv.4】类和对象(下)(初始化列表,友元,static成员,编译器的优化)
【C++练级之路】【Lv.4】类和对象(下)(初始化列表,友元,static成员,编译器的优化)
|
8天前
|
C++
c++的学习之路:7、类和对象(3)
c++的学习之路:7、类和对象(3)
21 0
|
1天前
|
存储 Java C++
【C++类和对象】探索static成员、友元以及内部类
【C++类和对象】探索static成员、友元以及内部类
|
1天前
|
安全 编译器 C++
【C++类和对象】const成员函数及流插入提取
【C++类和对象】const成员函数及流插入提取