公用資料保護

2021-09-29 07:23:05 字數 1294 閱讀 9466

c++雖然 採取了不少有效措施以增加資料的安全性,但是有些資料卻往往是共享的,例如實參與形參,變數與引用,資料及其指標等,人們可以在不同的場合通過不同的途徑訪問同乙個資料物件。有時在無意中誤操作可能會改變有關資料的狀況,而這是我們所不希望出現的。

既要使資料能在一定的範圍內共享,又要保證它不被任意修改,這時可以把有關資料定義為常量。

可以在定義物件時加關鍵字const,指定物件為常物件。常物件必須要有初值

time const t1(12, 34. 56);	// 定義t1是常物件
這樣,在t1的宣告週期中,物件t1中的所有資料成員的值都不能改變。凡希望保證資料成員不被改變的物件,可以宣告為常物件。

如果乙個物件被宣告為常物件,則通過該物件只能呼叫它的常成員函式,而不能呼叫該物件的普通成員函式常成員函式是常物件唯一的對外介面

雖然常成員函式可以訪問常物件中的資料成員,但不允許修改常物件中資料成員的值。有時候一定要修改常物件中某個資料成員的值,可將該資料成員宣告為mutable,如

mutable int count
可以將物件的成員宣告為const,包括常資料成員和常成員函式。

常資料成員

常物件的資料成員都是常資料成員。只能通過建構函式的引數初始化表對常資料成員進行初始化,任何其他函式都不能對常資料成員賦值。

常成員函式

宣告常成員函式的一般格式為

型別名 函式名(參數列)

const

const是函式型別的一部分,在宣告函式和定義函式時都要有const關鍵字,在呼叫時不必加const。常成員函式可以引用const資料成員,也可以引用非const的資料成員

const資料成員可以被const成員函式引用,也可以被非const的成員函式引用。

如果在乙個類中,有些資料成員的值允許改變,另一些資料成員的值不允許改變,則可以將一部分資料成員宣告為const,以保證其值不被改變,可以用非const的成員函式引用這些資料成員的值,並修改非const資料成員的值。

如果要求iu所有的資料成員的值都不允許改變,則可以將所有的資料成員宣告為const,或將物件宣告為const(常物件),然後用const成員函式引用資料成員。

如果已定義了乙個常物件,只能呼叫其中的const成員函式,而不能呼叫非const成員函式。

const資料保護

const常量 const常量型別 常物件 必須進行初始化,不能被更新,通過常物件只能呼叫它的常成員函式 const 型別 物件名 常資料成員 常成員函式 函式內部不能對任何函式以外定義的變數進行任何修改 型別說明符 函式名 參數列 const 常引用 被引用的物件不能被更新 常陣列 陣列元素不能被...

資料的保護

一般資料保護條例 gdpr 歐盟通用資料保護條例 gdpr 取代資料保護指令95 46 ec,旨在協調整個歐洲的資料隱私法律,保護所有歐盟公民的資料隱私,並重塑整個地區在儲存和處理隱私資料上的管理方式。由於違反gdpr的規定,組織可能會被罰款高達全球年營業額的4 或2000萬歐元。比如,如果沒有客戶...

資料視窗的資料保護

在實際的應用中,開發人員經常希望自己提供給使用者的資料有選擇性地被修改,這就要求開發人員能夠對資料進行保護,通過程式約束使用者的修改範圍。當然靠使用者自己識別哪些可以修改哪些不能修改也能保證資料的選擇性修改,但這樣會降低應用程式的可靠性。可以把資料的保護分為三種情況 1 某些字段不論什麼條件下使用者...