C operator 作用及應用

2021-05-27 05:53:10 字數 613 閱讀 8235

c++的 operator 允許定義新的操作符。

乙個種是用於全域性的, 一種是屬於類的。

對應類的操作符,切記是對類的物件起作用,而非指標 -

比如 class cwinimpl

void paint() {}

class cwindow

public: 

cwindow()

m_hwnd = createwindow( ...);

m_impl = new cwinimpl;

operator hwnd() const

cwinimpl*    operator->()

private:

hwnd m-hwnd;

cwinimpl *m_impl;

};void test()

cwindow * win = new cwindow();

hwnd h = *win;    //ok

//hwnd h = win;    //error

win->paint()    //error

(*win)->paint();   //ok

切記切記, 跟驅動打交道久了,c++放下多年了,今天給這個鬱悶了一把。

volatile作用及應用舉例

保證執行緒可見性 不能代替synchronized 保證原子性 禁止指令重排序 細節與cpu有關雙重判斷單例 要不要加volatile 需要 一定需要 防止指令重排 synchronized 不能防止重排序 public class singletonclass return instance pr...

linux下yum命令作用及應用

yum是什麼?linux命令 一.yum是什麼 yum yellow dog updater,modified 主要功能是更方便的新增 刪除 更新rpm包.它能自動解決包的倚賴性問題.它能便於管理大量系統的更新問題 注 為什麼要使用yum而不用apt,最簡單的原因,fedora自帶 二.yum特點 ...

static修飾符的作用及應用

資料共享 成員變數 例項變數 和靜態變數 類變數 的區別 兩個變數的生命週期不同 成員變數隨物件的建立而存在,隨物件被 而釋放 靜態變數隨類的載入而存在,隨類的消失而消失 呼叫方式不同 成員變數只能被物件呼叫 靜態變數還可以被類名呼叫 資料儲存位置不同 成員變數 堆記憶體的物件中,也叫物件的特有資料...