国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++ 入門篇(八) auto關(guān)鍵字

這篇具有很好參考價(jià)值的文章主要介紹了C++ 入門篇(八) auto關(guān)鍵字。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、auto簡介

二、auto的使用場景

三、注意事項(xiàng)

拓、范圍for

?【總結(jié)】

【源代碼】?


一、auto簡介

1.是什么?

? ? ? ? auto是一個(gè)提示符,提示編譯器根據(jù)變量的值來推導(dǎo)變量的類型。
????????在早期C/C++中auto的含義是:使用auto修飾的變量,是具有自動(dòng)存儲(chǔ)器的局部變量,C++11中,標(biāo)準(zhǔn)委員會(huì)賦予了auto全新的含義即:auto不再是一個(gè)存儲(chǔ)類型指示符,而是作為一個(gè)新的類型指示符來指示編譯器,auto聲明的變量必須由編譯器在編譯時(shí)期推導(dǎo)而得。


2.為什么?

? ? ? ? 對(duì)于某些較長或較奇怪的數(shù)據(jù)類型,可交給編譯器自行推導(dǎo),這樣使代碼更簡潔。


3.怎么用?

? ? ? ? 定義變量使用auto可讓編譯器自動(dòng)推導(dǎo)變量類型;和范圍for使用來遍歷數(shù)組;加引用和范圍for一起使用來修改數(shù)值。

? ? ? ? 使用auto定義變量時(shí)必須初始化,auto變量無法作為參數(shù)。在編譯階段編譯器需要根據(jù)初始化表達(dá)式來推導(dǎo)auto的實(shí)際類型。因此auto并非是一種“類型”的聲明,而是一個(gè)類型聲明時(shí)的“占位符”,編譯器在編譯期會(huì)將auto替換為變量實(shí)際的類型。


二、auto的使用場景

1. 使用auto自動(dòng)識(shí)別變量類型

eg. auto自動(dòng)識(shí)別變量類型
c++ auto,C++,c++,開發(fā)語言
eg. 當(dāng)變量類型比較長時(shí),auto自動(dòng)識(shí)別變量類型,使代碼變得簡潔。
c++ auto,C++,c++,開發(fā)語言

2. auto關(guān)鍵字經(jīng)常和范圍for一起使用,用來遍歷數(shù)組。

c++ auto,C++,c++,開發(fā)語言

注意,這里是將數(shù)組中的元素賦值給i,所以i的改變并不會(huì)影響原數(shù)組。

3.?auto結(jié)合引用和范圍for一起使用,用來修改數(shù)組。

c++ auto,C++,c++,開發(fā)語言


三、注意事項(xiàng)

1.使用auto聲明變量必須初始化。

c++ auto,C++,c++,開發(fā)語言

2.不能使用auto和指針結(jié)合來修改數(shù)組。

?????????auto* a 加一個(gè) * 是在強(qiáng)調(diào)變量 a 是指針,故a只能接受指針類型,并不是將變量類型改為指針類型,沒有指針auto類型。


eg. auto* 只能接收指針類型。

c++ auto,C++,c++,開發(fā)語言

eg. auto* aa 并沒有使 變量aa的類型變?yōu)閕nt **。

c++ auto,C++,c++,開發(fā)語言

可使用操作符typeid(a).name()來查看變量a的數(shù)據(jù)類型。(注意typeid不是函數(shù))

3.同理,auto& b 是在強(qiáng)調(diào)b是引用,但引用可以除了可以接收引用,還可以接收其它類型,故b除了可以接收引用外還可以接收其它類型(int, double……),說明b是該類型變量的引用。

4.同句中的auto的類型必須相同。

c++ auto,C++,c++,開發(fā)語言

5.auto不能作為參數(shù)。

c++ auto,C++,c++,開發(fā)語言?


拓、范圍for

1. 是什么?

????????范圍for全稱基于范圍的for循環(huán),是C++11中引入的一種新特性,它允許程序員更簡潔地遍歷序列(如數(shù)組、字符串等)中的元素。


2. 為什么?

????????對(duì)于一個(gè)有范圍的集合而言,由程序員來說明循環(huán)的范圍是多余的,有時(shí)候還會(huì)容易犯錯(cuò)誤,因此 C++11 中引入了基于范圍的for循環(huán)。


3. 怎么用?

????????for 循環(huán)后的括號(hào)由冒號(hào)“?:”分為兩部分:第一部分是范圍內(nèi)用于迭代的變量,第二部分則表示被迭代的范圍。

c++ auto,C++,c++,開發(fā)語言


4. 注意事項(xiàng):

a)?范圍for的范圍必須是確定的:

c++ auto,C++,c++,開發(fā)語言


?【總結(jié)】

c++ auto,C++,c++,開發(fā)語言


【源代碼】?

#include<iostream>
using std::cout;
using std::endl;

int main()
{
	//auto a = 1;
	//auto b = 3.14;
	//auto c = "a";
	//auto d = 'a';

	1.auto自動(dòng)識(shí)別類型
	//cout << typeid(a).name() << endl; //typeid()識(shí)別變量類型
	//cout << typeid(b).name() << endl;
	//cout << typeid(c).name() << endl;
	//cout << typeid(d).name() << endl;

	2.auto關(guān)鍵字經(jīng)常和范圍for一起使用,用來遍歷數(shù)組。
	普通的遍歷數(shù)組
	//int arr[] = { 0,1,2,3,4,5,6 };
	//for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)
	//	cout << arr[i] << " ";
	//cout << endl;
	范圍for:自動(dòng)迭代,自動(dòng)結(jié)束
	依次取arr中的元素,賦值給變量i(注意i是arr中元素的拷貝)
	//for (auto i : arr)
	//	cout << i << ' ';
	//cout << endl;

	//注意: auto* a 是在強(qiáng)調(diào)a是指針類型,強(qiáng)調(diào)a只能接收指針類型。
	/*int i = 0;
	int* ip = &i;
	auto a = i;
	///auto* aa = i; //auto* 只能接收指針類型
	auto* aa = ip;
	auto b = ip;

	cout << typeid(aa).name() << endl;
	cout << typeid(b).name() << endl;*/

	//3.auto結(jié)合引用和范圍for一起使用,用來修改數(shù)組。
	int arr[] = { 1, 2, 3, 4, 5, 6 };
	for (auto a1 : arr)
	{
		cout << a1 << ' ';
	}
	cout << endl;
	for (auto& i : arr)
	{
		++i;
	}
	for (auto a2 : arr)
	{
		cout << a2 << ' ';
	}
	cout << endl;

	//注意:使用auto聲明變量必須初始化
	//auto a;
	return 0;
}

//6.范圍for的范圍必須是確定的。
//void test(int a[])
//{
//	for (auto i : a)
//	{
//		cout << i << endl;
//	}
//}

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

才疏學(xué)淺,謬誤難免,歡迎各位批評(píng)指正。文章來源地址http://www.zghlxwxcb.cn/news/detail-720030.html

到了這里,關(guān)于C++ 入門篇(八) auto關(guān)鍵字的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 計(jì)算機(jī)語言 之【C++】入門級(jí)知識(shí)講解(命名空間,C++輸入輸出,缺省參數(shù),函數(shù)重載,引用,內(nèi)斂函數(shù),auto關(guān)鍵字,for循環(huán),指針空值nullptr)

    計(jì)算機(jī)語言 之【C++】入門級(jí)知識(shí)講解(命名空間,C++輸入輸出,缺省參數(shù),函數(shù)重載,引用,內(nèi)斂函數(shù),auto關(guān)鍵字,for循環(huán),指針空值nullptr)

    三點(diǎn)睡六點(diǎn)起,閻王夸我好身體 不到三點(diǎn)我不睡,太平間里搶C位 目錄: 前言: 本片博客是以學(xué)習(xí)過C語言之后進(jìn)入C++學(xué)習(xí)為前提,講解C++入門級(jí)知識(shí),為C++之后的學(xué)習(xí)做鋪墊 –?–?–?–?–?–?–?–?–?–?–?–?–?–?–?-正文開始-?–?–?–?–?

    2024年04月11日
    瀏覽(35)
  • 【C++入門】auto關(guān)鍵字(C++11) + 指針空值nullptr(C++11)

    【C++入門】auto關(guān)鍵字(C++11) + 指針空值nullptr(C++11)

    ??個(gè)人主頁:@Weraphael ???作者簡介:目前學(xué)習(xí)C++和算法 ??專欄:C++航路 ?? 希望大家多多支持,咱一起進(jìn)步!?? 如果文章對(duì)你有幫助的話 歡迎 評(píng)論?? 點(diǎn)贊???? 收藏 ?? 加關(guān)注? 本章是補(bǔ)充C語言語法的不足,以及C++是如何對(duì)C語言設(shè)計(jì)不合理的地方進(jìn)行優(yōu)化的。 隨

    2024年02月04日
    瀏覽(24)
  • C++ : auto關(guān)鍵字

    ? ? ? ? 前提引入: ? ? ? ? ? ? ? ? 1.類型名,在絕大多數(shù)編程時(shí),我們都會(huì)引入類型來定義一個(gè)我們需要的數(shù)據(jù)。 ? ? ? ? ? ? ? ? 類型眾多,偶爾我們會(huì)遇見一串類型名,使用起來無比復(fù)雜。存在拼寫錯(cuò)誤,含義不明確導(dǎo)致出錯(cuò)的問題。 ? ? ? ? ? ? ? ? 列如: ? ? ?

    2023年04月11日
    瀏覽(25)
  • 【C++初階】二、入門知識(shí)講解(引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字、基于范圍的for循環(huán)、指針空值nullptr)

    【C++初階】二、入門知識(shí)講解(引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字、基于范圍的for循環(huán)、指針空值nullptr)

    ========================================================================= 相關(guān)代碼gitee自取 : C語言學(xué)習(xí)日記: 加油努力 (gitee.com) ?========================================================================= 接上期 : 【C++初階】一、入門知識(shí)講解 (C++、命名空間、C++輸入輸出、缺省參數(shù)、函數(shù)重載)-

    2024年02月04日
    瀏覽(97)
  • 【開懂C++】引用與關(guān)鍵字auto

    【開懂C++】引用與關(guān)鍵字auto

    引用就是給一個(gè)已經(jīng)存在的變量取一個(gè)別名,與變量共用一段內(nèi)存空間。注意引用的類型必須和變量類型相同,來演示下引用如何使用。 如上面的代碼所示:我們給a取了個(gè)別名b,給b取別名c…也就是b是a的引用,c是b的引用…。 其實(shí)b,c,d都代表著a,它們都共用著一塊內(nèi)存空間

    2023年04月18日
    瀏覽(25)
  • 【C++】引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字等

    【C++】引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字等

    前言:在前面我們講解了C++入門基礎(chǔ)的一些學(xué)習(xí)例如命名空間、缺省參數(shù)、函數(shù)重載等。今天我們將進(jìn)一步的學(xué)習(xí),跟著博主的腳步再次往前邁一步吧。 ?? 博主CSDN主頁:衛(wèi)衛(wèi)衛(wèi)的個(gè)人主頁 ?? ?? 專欄分類:高質(zhì)量C++學(xué)習(xí) ?? ??代碼倉庫:衛(wèi)衛(wèi)周大胖的學(xué)習(xí)日記?? ??關(guān)注博

    2024年02月20日
    瀏覽(95)
  • 【C++初階(三)】引用&內(nèi)聯(lián)函數(shù)&auto關(guān)鍵字

    【C++初階(三)】引用&內(nèi)聯(lián)函數(shù)&auto關(guān)鍵字

    目錄 ?前言 ?1. 引用 ? 1.1 引用的概念? ?1.2 引用的特性 ?1.3 引用的權(quán)限 ?1.4 引用的使用 ?1.5 引用與指針的區(qū)別 2. 內(nèi)聯(lián)函數(shù) 2.1? 什么是內(nèi)聯(lián)函數(shù) 2.2? 內(nèi)聯(lián)函數(shù)的特性 ?3. auto ?3.1 auto簡介 ?3.2 auto使用規(guī)則 ?3.3 auto不能使用的場景 4.? 基于范圍的for循環(huán) ?4.1 范圍for使用

    2024年02月08日
    瀏覽(36)
  • c++ for循環(huán)中使用auto關(guān)鍵字

    代碼 編譯運(yùn)行結(jié)果 總結(jié) 代碼 編譯運(yùn)行結(jié)果 總結(jié)

    2024年02月14日
    瀏覽(21)
  • C++面試八股文:了解auto關(guān)鍵字嗎?

    某日二師兄參加XXX科技公司的C++工程師開發(fā)崗位第15面: 面試官:了解 auto 嗎? 二師兄:嗯,了解一些(我很熟悉)。 面試官:說一說 auto 的用法吧? 二師兄: auto 主要是為了編譯器進(jìn)行類型推導(dǎo)。比如: 二師兄:也可以作為函數(shù)返回類型的占位符: 二師兄:在C

    2024年02月09日
    瀏覽(22)
  • 【C++】:函數(shù)重載,引用,內(nèi)聯(lián)函數(shù),auto關(guān)鍵字,基于范圍的for循環(huán),nullptr關(guān)鍵字

    【C++】:函數(shù)重載,引用,內(nèi)聯(lián)函數(shù),auto關(guān)鍵字,基于范圍的for循環(huán),nullptr關(guān)鍵字

    在C語言中,同名函數(shù)是不能出現(xiàn)在同一作用域的,但是在C++中卻可以,但是要滿足函數(shù)重載的規(guī)則。 那什么是函數(shù)重載呢?它的規(guī)則是什么呢? 函數(shù)重載 :是函數(shù)的一種特殊情況,C++允許在 同一作用域 中聲明幾個(gè)功能類似的 同名函數(shù) ,這些同名函數(shù)的 形參列表(參數(shù)個(gè)數(shù)

    2024年04月26日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包