中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

研究網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷方式對比分析

研究網(wǎng)站建設(shè),網(wǎng)絡(luò)營銷方式對比分析,網(wǎng)頁開發(fā)簡歷模板,頁面模板怎么添加文章目錄 一、const成員函數(shù) 1. const成員函數(shù)是什么? 2. 為什么有const成員函數(shù)? 3. 什么時候需要使用const修飾成員函數(shù)? 二、取地址運算符重載 1. 為什么需要重載取地址運算符? 2. 默認取地址運算符重載函數(shù) 3. 默認const取地址運…

目錄

一、const成員函數(shù)

1. const成員函數(shù)是什么?

2. 為什么有const成員函數(shù)?

3. 什么時候需要使用const修飾成員函數(shù)??

二、取地址運算符重載

1. 為什么需要重載取地址運算符?

2. 默認取地址運算符重載函數(shù)

3.?默認const取地址運算符重載函數(shù)

4. 什么時候要顯示重載取地址運算符??


一、const成員函數(shù)

1. const成員函數(shù)是什么?

const修飾的成員函數(shù)稱為const成員函數(shù),這個const是用來修飾隱藏的this指針的。

class B{
public:int func()const{}
};
將 const修飾的“成員函數(shù)”稱之為 const成員函數(shù),const修飾類成員函數(shù),
實際修飾該成員函數(shù)隱含的 this指針,表明在該成員函數(shù)中不能對類的任何成員進行修改。

2. 為什么有const成員函數(shù)?

const成員函數(shù)的出現(xiàn)解決了兩個問題:

  1. 如何保證無法通過成員函數(shù)修改成員變量?
  2. const對象無法調(diào)用非const成員函數(shù)。

1.?const成員函數(shù)保證了無法通過成員函數(shù)修改成員變量


2.?const成員函數(shù)能被const對象調(diào)用,不會產(chǎn)生權(quán)限放大問題。


3. 為什么const對象無法調(diào)用非const成員函數(shù)??

????????每個成員函數(shù)第一個參數(shù)都是隱藏的this指針,對象在調(diào)用成員函數(shù)時會將對象的地址傳給這個this指針,但將const對象傳給this指針就會造成權(quán)限放大問題。

????????this 指針本身是?類名* const?類型的,比如Date類的this指針類型是 Date* const,這里的const在*后面,不同于const Date對象取地址后的類型:const Date* 【在*之前修飾,代表該指針指向?qū)ο蟮膬?nèi)容不能被修改(地址里的內(nèi)容不能改);在*之后修飾,代表該指針指向的對象不能被修改(指向的地址不能改)】,而且const 對象只有讀權(quán)限,而this指針*前沒const修飾有讀寫權(quán)限,所以對象在調(diào)用成員函數(shù)將對象的地址傳給這個this指針時,會造成權(quán)限放大問題。

3. 什么時候需要使用const修飾成員函數(shù)??

????????需要修改類中成員變量的成員函數(shù)(如專門用來修改成員變量的修改器),就不需要用const修飾。如果一個函數(shù)中不需要修改成員變量,建議加const進行修飾,因為const成員函數(shù)const對象可以調(diào)用,非const對象也可以調(diào)用。


請思考下面的幾個問題:

  1. const對象可以調(diào)用非const成員函數(shù)嗎?
    答案:不可以,傳遞this指針時權(quán)限會放大
  2. 非const對象可以調(diào)用const成員函數(shù)嗎?
    答案:可以,傳遞this指針時權(quán)限縮小
  3. const成員函數(shù)內(nèi)可以調(diào)用其它的非const成員函數(shù)嗎?
    答案:不可以,傳遞this指針時權(quán)限會放大
  4. 非const成員函數(shù)內(nèi)可以調(diào)用其它的const成員函數(shù)嗎?
    答案:可以,傳遞this指針時權(quán)限縮小

二、取地址運算符重載

1. 為什么需要重載取地址運算符?

? ? ? ? 在上篇文章C++ 類和對象篇(七) 運算符重載中,分析了重載運算符的原因:為了讓自定義類型能使用運算符。重載取地址運算符的目的也是如此:讓自定義類型也能使用取地址運算符(&)。

2. 默認取地址運算符重載函數(shù)

? ? ? ? 類中有6個默認成員函數(shù),其中就有默認取地址運算符重載函數(shù),所以即使類中沒有定義取地址運算符重載函數(shù),對象依然能使用取地址運算符(&):

3.?默認const取地址運算符重載函數(shù)

????????const取地址運算符重載函數(shù)也是默認成員函數(shù),所以即使類中沒有定義取地址運算符重載函數(shù),const對象依然能使用取地址運算符(&):

4. 什么時候要顯示重載取地址運算符??

????????一般不需要寫,編譯器生成的默認的取地址和const取地址運算符重載函數(shù)完全夠用。特殊情況下,比如不想讓別人獲取對象的地址,就可以自己實現(xiàn),返回nullptr:

如果不想讓別人獲取對象的地址,就可以重載取地址運算符,返回nullptr:
class A
{
public:A* operator&(){return nullptr;}const A* operator&()const{return nullptr;}
};
int main()
{A a;const A b;cout << &a << endl;cout << &b << endl;return 0;
}


------------------------END-------------------------

才疏學淺,謬誤難免,歡迎各位批評指正。

http://www.risenshineclean.com/news/6753.html

相關(guān)文章:

  • 偷dede網(wǎng)站模板網(wǎng)站seo優(yōu)化技巧
  • 河北pc端網(wǎng)站建設(shè)知乎怎么申請關(guān)鍵詞推廣
  • 貴州省網(wǎng)站建設(shè)選哪家廣州seo網(wǎng)站服務(wù)公司
  • 商城網(wǎng)站建設(shè)浩森宇特營銷策略怎么寫范文
  • cc域名注冊搜索優(yōu)化整站優(yōu)化
  • 淄博網(wǎng)站建設(shè)程序競價運營是做什么的
  • 網(wǎng)站優(yōu)化具體是怎么做的seo外鏈工具
  • 廣東官網(wǎng)網(wǎng)站建設(shè)品牌網(wǎng)絡(luò)媒體軟文案例
  • 求推薦公司網(wǎng)站建設(shè)品牌推廣思路
  • wordpress小程序調(diào)用數(shù)據(jù)庫字段長沙優(yōu)化網(wǎng)站推廣
  • 網(wǎng)站建設(shè)需要什么教材網(wǎng)絡(luò)營銷策略實施的步驟
  • 做網(wǎng)站備案需要什么百度推廣的廣告真實可信嗎
  • 自己做網(wǎng)站花多少錢域名是什么 有什么用
  • 河北省建設(shè)機械協(xié)會是真的網(wǎng)站嗎聊城seo
  • 營銷類網(wǎng)站建設(shè)百度刷排名優(yōu)化軟件
  • 網(wǎng)站開發(fā)軟件最流行蘇州搜索引擎優(yōu)化
  • 哪個網(wǎng)站是做包裝材料珍珠棉包管seo推廣一個月見效
  • 公司網(wǎng)站不續(xù)費能打開網(wǎng)頁嗎seo研究所
  • 對手網(wǎng)站分析如何修改百度上面的門店號碼
  • 后海做網(wǎng)站公司湖南百度推廣代理商
  • 福州外文網(wǎng)站建設(shè)seo網(wǎng)站優(yōu)化知識
  • 沈陽房地產(chǎn)網(wǎng)站開發(fā)西點培訓班一般要多少學費
  • 東莞市建設(shè)局網(wǎng)站首頁營銷策略怎么寫
  • 做京東網(wǎng)站需要哪些手續(xù)重慶網(wǎng)站建設(shè)公司
  • 二維碼轉(zhuǎn)短鏈接生成器做排名優(yōu)化
  • 河南專業(yè)網(wǎng)站建設(shè)公司哪家好學好seo
  • oracle 網(wǎng)站開發(fā)推廣引流app
  • 網(wǎng)站建設(shè)原理與實踐推廣普通話手抄報文字內(nèi)容
  • 建動畫網(wǎng)站需要多少錢關(guān)鍵詞排名查詢工具免費
  • 域名服務(wù)商怎么查詢網(wǎng)絡(luò)優(yōu)化推廣公司哪家好