首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 運算子大全與函數基礎:從算術到類成員存取

     編輯:關於C++

常用運算子分類速查

類別運算子範例
算術+ - * /x = y + z;
賦值= += -= *= /= &= |=x += 10; // x = x + 10
邏輯&& ||if (x && 0xFF)
關係== != < > <= >=if (x >= 10)
一元* & ~ ! ++ --int* p = &y; ++x;
類/結構::MyClass::StaticFunc();
->ptr->MemberFunc();
.obj.MemberFunc();

前置/後置遞增遞減:細節決定效能

int x = 10;
cout << x++; // 輸出 10,x 變 11
cout << x;   // 輸出 11
cout << ++x; // x 先變 12,輸出 12
  • 前置 ++x:先遞增,回傳新值(引用),效率略高。
  • 後置 x++:先回傳舊值(暫存副本),再遞增。
  • 對內建型別差異微小;對類別型別(如迭代器),慣用前置 避免不必要的暫存物件建構/銷毀。

運算子多載:C++ 進階特性預覽

同一符號語義隨上下文變化:* 可為乘號、指標宣告、解參考。
可自訂型別行為:

class Complex {
public:
    Complex operator+(const Complex& rhs) const; // a + b
    Complex& operator++(); // 前置 ++a
};

屬進階主題,本書不深入,但理解「運算子本質是函數」有助閱讀標準庫代碼。

函數基礎:模組化核心

結構拆解

int Multiply(int x, int y) { // 返回型別 函數名 參數列
    int z = x * y;           // 函數體
    return z;                // 返回語句
}

宣告與定義分離

// .h 或檔案頂部
int multiply(int, int);
void showResult(int);

// .cpp 或 main 之後
int multiply(int x, int y) { return x * y; }
void showResult(int res) { cout << "Result: " << res << endl; }

多樣調用方式

result = multiply(2, 5);        // 字面值
result = multiply(x, y);        // 變數
showResult(multiply(x, y));     // 巢狀調用
multiply(x, y);                 // 忽略返回值(合法,但可能丟失錯誤碼)

遞迴:函數呼叫自身

經典範例:階乘、樹遍歷。需設定基底案例防止無限遞迴導致堆疊溢位。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved