C++语言学习记录-23:初始化列表

比方说要在一个类内对多个变量进行初始化操作

class Example
{
    
    
public:
	Example(int a, int b, int c)
	{
    
    
		m_A = a;
		m_B = b;
		m_C = c;
	}
	int m_A;
	int m_B;
	int m_C;
};
void test01()
{
    
    
	Example e(10, 20, 30);
	cout<<e.m_A<<e.m_B<<e.m_C<<endl;
}

这样的效率就会降低,因此使用初始化列表的方式来提高效率。

class Example
{
    
    
public:
	Example:m_A(10), m_B(20), m_C(30)
	{
    
    
	
	}
	int m_A;
	int m_B;
	int m_C;
};
void test01()
{
    
    
	Example e;
	cout<<e.m_A<<e.m_B<<e.m_C<<endl;
}

这样的写法就是一个初始化列表,但是可以看到它依然有缺点,比如在这里给三个变量赋的初值已经是固定的,不能发生改变,因此一般使用下面的写法使得初值更加灵活

class Example
{
    
    
public:
	Example(int a, int b, int c)m_A(a), m_B(b), m_C(c)
	{
    
    
	
	}
	int m_A;
	int m_B;
	int m_C;
};
void test01()
{
    
    
	Example e(20, 30, 10); //参数的传递就可以在这里灵活更改了
	cout<<e.m_A<<e.m_B<<e.m_C<<endl;
}

猜你喜欢

转载自blog.csdn.net/leanneTN/article/details/109942719