c++静态对象,内联函数,析构函数,拷贝构造函数

c++静态对象

静态成员在类的所有对象中是共享的。
静态成员函数即使在类对象不存在的情况下也能被调用。

c++内联函数

可以在函数里的任意地方调用。
函数代码将会加载在每个调用函数的地方,编译的机器代码中已经插入这些函数,所以修改内联函数后需要重新编译整个文件。

c++析构函数

对象生命周期结束,被销毁时调用析构函数。

c++调用拷贝构造函数的时机
c++中拷贝构造函数被调用的时机
拷贝构造函数被调用的几种情况:
(1)当用类的一个对象去初始化该类的另一个对象时,系统会自动调用拷贝构造函数;
(2)将一个对象作为实参传递给一个非引用类型的形参,系统会自动调用拷贝构造函数;
(3)从一个返回类为非引用的函数返回一个对象时,系统会自动调用拷贝构造函数;
(4)用花括号列表初始化一个数组的元素时,系统会自动调用拷贝构造函数。

c++拷贝构造函数:就相当于传入同一个类的构造函数。

为什么要写拷贝构造函数:给类复制时候防止浅拷贝
浅拷贝是指当一个对象中含有指针类型的成员变量时,拷贝构造函数只会复制指针的地址,而不会复制指针所指向的实际数据。

调用拷贝构造函数:
当使用“=”操作符创建一个对象并且初始化为另一个对象时,会调用拷贝构造函数。
ClassName obj1;
ClassName obj2 = obj1; // 使用 obj1 进行初始化,调用拷贝构造函数
拷贝构造函数格式:
MyClass::MyClass(const MyClass& other) {
ptr = new int[size];
for (int i = 0; i < size; i++) {
ptr[i] = other.ptr[i];
}
}

使用new后要调用类的折构函数。

你可能感兴趣的:(C++,c++,java,jvm)