在C++中,可以使用移动语义或者使用自定义的复制构造函数来实现copy函数的替代方案。
#include <iostream>
#include <vector>
int main() {
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2 = std::move(v1); // 使用移动语义将v1的资源转移到v2
for (int i : v2) {
std::cout << i << " ";
}
return 0;
}
#include <iostream>
class MyClass {
public:
int data;
MyClass(int d) : data(d) {}
// 自定义复制构造函数
MyClass(const MyClass& other) {
data = other.data;
}
};
int main() {
MyClass obj1(10);
MyClass obj2 = obj1; // 调用自定义的复制构造函数
std::cout << obj2.data << std::endl;
return 0;
}
通过使用移动语义和自定义复制构造函数,可以实现C++中copy函数的替代方案,提高程序性能和灵活性。