C++ 中的複製省略
複製省略也稱為複製忽略,這是編譯器最佳化技術之一。它可以避免不必要的物件複製。幾乎任何當前編譯器都使用此複製省略技術。
讓我們透過一個示例程式碼看看它是如何工作的
示例程式碼
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(const char* str = "\0") { //default constructor
cout << "Constructor called" << endl;
}
MyClass(const MyClass &my_cls) { //copy constructor
cout << "Copy constructor called" << endl;
}
};
main() {
MyClass ob = "copy class object";
}輸出
Constructor called
現在,讓我們討論為什麼不呼叫複製建構函式?
因此,在構造一個物件時,會生成一個臨時物件並將其複製到實際物件。因此,我們可以說在內部它看起來像這樣
MyClass ob = "copy class object";
將工作為
MyClass ob = MyClass("copy class object");C++編譯器避免了此類開銷
廣告
資料結構
網路
關係型資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP