欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++入門(命名空間,缺省參數(shù),函數(shù)重載,引用,內(nèi)聯(lián)函數(shù),auto,范圍for)

 更新時(shí)間:2021年05月24日 09:36:35   作者:DR5200  
這篇文章主要介紹了C++入門(命名空間,缺省參數(shù),函數(shù)重載,引用,內(nèi)聯(lián)函數(shù),auto,范圍for),這些基礎(chǔ)知識(shí)是學(xué)習(xí)C++最最基礎(chǔ)需要掌握的知識(shí)點(diǎn),需要的朋友可以參考下

一.C++關(guān)鍵字

C++總共有63個(gè)關(guān)鍵字,在入門階段我們只是大致了解一下就可,在后續(xù)博客中會(huì)逐漸講解

二.命名空間

相信學(xué)過(guò)C++的同學(xué),一定都寫過(guò)下面這個(gè)簡(jiǎn)單的程序

#include<iostream>
using namespace std;
int main()
{
	cout<<"hello world"<<endl;
	return 0;
}

我們先來(lái)看第二行代碼,using namespace std , 這行代碼是什么意思呢 ?

這里我們就要來(lái)引入命名空間的概念,命名空間是用來(lái)解決C語(yǔ)言命名沖突問(wèn)題的,在我們的C語(yǔ)言階段,如果我們寫了下面的程序,是不能通過(guò)編譯的,原因是因?yàn)閟canf函數(shù)包含在 <stdio.h>這個(gè)庫(kù)里,是一個(gè)全局的函數(shù),而我們用scanf去命名全局變量,會(huì)報(bào)重定義的錯(cuò)誤,這就導(dǎo)致了命名沖突,C語(yǔ)言是無(wú)法解決這個(gè)問(wèn)題的,因此C++為了解決這個(gè)問(wèn)題,引入了命名空間,來(lái)做名字的隔離

#include<stdio.h>
int scanf = 10;
int main()
{
	printf("%x\n",scanf);
}

命名空間 :
在C/C++中,變量、函數(shù)和我們后面要學(xué)到的類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局作用域中,可能會(huì)導(dǎo)致很多沖突。使用命名空間的目的是對(duì)標(biāo)識(shí)符的名稱進(jìn)行本地化,以避免命名沖突或名字污染,namespace關(guān)鍵字的出現(xiàn)就是針對(duì)這種問(wèn)題的。

上面的代碼改正后如下

#include<stdio.h>
namespace N
{
	int scanf = 10;
}
int main()
{
	printf("%x\n",scanf);  // 以十六進(jìn)制打印出scanf函數(shù)的地址
	printf("%x\n",N::scanf); // 以十六進(jìn)制打印出 N命名空間域里的 scanf變量
}

其中 N::scanf 中的 :: 為域作用限定符,表明要打印的 scanf 是 N命名空間域里的

了解了命名空間后,回到我們最開始的問(wèn)題 using namespace std 是什么意思呢?

C++庫(kù)為了防止命名沖突,將自己庫(kù)里的東西都定義在一個(gè)名為 std 的命名空間里,要使用標(biāo)準(zhǔn)庫(kù)里的東西,有以下三種方式:

(1).指定命名空間

#include<iostream>
int main()
{
	std::cout<<"hello world"<<std::endl;
}

(2).把std整個(gè)展開,即 using namespace std,雖然使用起來(lái)比較方便,但如果我們自己定義的東西跟庫(kù)里沖突了,就沒(méi)辦法解決了,因此在規(guī)范的工程項(xiàng)目中不推薦此種方式

#include<iostream>
using namespace std;
int main()
{
	cout<<"hello world"<<endl;
}

(3).對(duì)部分常用的庫(kù)里面的東西展開

#include<iostream>
using std::cout;
using std::endl;
int main()
{
	cout<<"hello world"<<endl;
}

命名空間的幾點(diǎn)注意事項(xiàng) :

(1). 命名空間里既可以定義變量,也可以定義函數(shù)
(2).命名空間可以嵌套定義

namespace A
{
	int a;  // 定義變量
	int Add(int left,int right) // 定義函數(shù)
	{
		return left + right;
	}
	namespace B  // 嵌套定義
	{
		int b;
		int Sub(int left,int right)
		{
			return left - right;
		}
	}
}

(3).在同一個(gè)工程里可以存在多個(gè)相同名稱的命名空間,在編譯時(shí)最終會(huì)合成到一個(gè)命名空間里,因此注意不要定義同名的變量或函數(shù),否則會(huì)報(bào)重定義的錯(cuò)誤

三.缺省參數(shù)

(1).缺省參數(shù)的概念

缺省參數(shù)是聲明或定義函數(shù)時(shí)為函數(shù)的參數(shù)指定一個(gè)默認(rèn)值。在調(diào)用該函數(shù)時(shí),如果沒(méi)有指定實(shí)參則采用該默認(rèn)值,否則使用指定的實(shí)參

void Testfunc(int a = 0) // 缺省參數(shù)
{
	cout<<a<<endl;
}
int main()
{
	Testfunc(10); // 使用給定的實(shí)參
	Testfunc();   // 使用默認(rèn)值
}

(2). 缺省參數(shù)的分類

全缺省參數(shù) : 函數(shù)參數(shù)都指定了默認(rèn)值

void TestFunc(int a = 10,int b = 20,int c = 30)
{
	cout<<a<<endl;
	cout<<b<<endl;
	cout<<c<<endl;
}

半缺省參數(shù) : 函數(shù)參數(shù)部分指定了默認(rèn)值

void TestFunc(int a,int b = 20,int c = 30)
{
	cout<<a<<endl;
	cout<<b<<endl;
	cout<<c<<endl;
}

注意 :

(1).半缺省參數(shù)必須從右往左依次給出,不能間隔給出

void TestFunc(int a = 10,int b,int c = 20) // 錯(cuò)誤寫法
{
	cout<<a<<endl;
	cout<<b<<endl;
	cout<<c<<endl;
}

(2).缺省參數(shù)不能在聲明和定義中同時(shí)出現(xiàn)

a.h
void TestFunc(int a = 10);
a.c
void TetsFunc(int a)
{
	cout<<a<<endl;
}

(3).缺省參數(shù)的值必須為常量或全局變量

四.函數(shù)重載

(1).函數(shù)重載的概念

C語(yǔ)言并不支持同名函數(shù)的存在,若定義了同名函數(shù)會(huì)報(bào)重定義的錯(cuò)誤,C++在C語(yǔ)言的基礎(chǔ)上引入了函數(shù)重載的概念,即函數(shù)的名稱可以相同,但函數(shù)的參數(shù)列表不能相同(參數(shù)的類型,參數(shù)的個(gè)數(shù),參數(shù)的順序),函數(shù)的返回值不能作為重載的標(biāo)志,原因會(huì)在后面解釋

// 函數(shù)重載
int Add(int left,int right)
{
	return left + right;
}
double Add(double left,double right)
{
	return left + right;
}

C++重載機(jī)制很好理解,但C++是怎么支持重載的呢?為什么C語(yǔ)言不支持重載呢?

在講述這個(gè)問(wèn)題之前,我們要先回顧一下我們之前學(xué)的編譯鏈接過(guò)程

編譯可分為以下三個(gè)階段

1.預(yù)處理
預(yù)處理階段主要做的事情有以下幾點(diǎn)
(1).頭文件的展開
(2).進(jìn)行宏替換
(3).去掉注釋
(4).執(zhí)行條件編譯指令

經(jīng)過(guò)預(yù)處理階段后生成后綴名為.i的文件

2.編譯
編譯階段主要做的事情有以下幾點(diǎn)
(1).詞法分析
在詞法分析過(guò)程中,我們的源代碼程序會(huì)被輸入到掃描器中,掃描器會(huì)將源代碼的字符序列分割成不同的記號(hào)并分類,如關(guān)鍵字,標(biāo)識(shí)符,字面量,同時(shí)掃描器將分好類的記號(hào)存儲(chǔ)到對(duì)應(yīng)的位置,為后面的操作做好鋪墊
(2).語(yǔ)法分析
語(yǔ)法分析是通過(guò)建立一顆語(yǔ)法樹來(lái)實(shí)現(xiàn)的,我們所寫的語(yǔ)句是由多個(gè)表達(dá)式組成的,因此我們的語(yǔ)法樹是一顆以表達(dá)式為結(jié)點(diǎn)的樹,在語(yǔ)法分析的過(guò)程中,操作符的優(yōu)先級(jí)和結(jié)合性也被確定下來(lái)了,如果在語(yǔ)法分析過(guò)程中,出現(xiàn)了語(yǔ)法錯(cuò)誤,編譯器就會(huì)報(bào)語(yǔ)法分析階段的錯(cuò)誤
(3).語(yǔ)義分析
語(yǔ)法分析僅僅對(duì)語(yǔ)法進(jìn)行檢測(cè),但并不知道語(yǔ)義是否正確,這就需要語(yǔ)義分析器上場(chǎng)了,語(yǔ)義分析階段主要做的是類型的匹配,轉(zhuǎn)換,比如我們將一個(gè)浮點(diǎn)型表達(dá)式賦值給一個(gè)整型表達(dá)式,需要進(jìn)行隱式類型轉(zhuǎn)換,語(yǔ)義分析需要完成這個(gè)步驟,將一個(gè)浮點(diǎn)型賦值給一個(gè)指針,語(yǔ)義分析會(huì)發(fā)現(xiàn)類型不匹配,編譯器會(huì)報(bào)錯(cuò),經(jīng)過(guò)語(yǔ)義分析階段后,語(yǔ)法樹的各個(gè)節(jié)點(diǎn)會(huì)被標(biāo)記上類型,需要類型轉(zhuǎn)換的,會(huì)插入相應(yīng)的轉(zhuǎn)換節(jié)點(diǎn)

經(jīng)過(guò)編譯階段后,生成了后綴名為.s的匯編代碼文件

3.匯編
匯編階段所做的事情比較簡(jiǎn)單,匯編階段將編譯產(chǎn)生的匯編代碼文件轉(zhuǎn)換成二進(jìn)制機(jī)器指令

經(jīng)過(guò)匯編階段生成后綴名為.o的目標(biāo)文件

生成的目標(biāo)文件是按照ELF文件格式進(jìn)行存儲(chǔ)的,ELF文件由多個(gè)段組成,如.text(代碼段) .data(數(shù)據(jù)段) .symtab(符號(hào)表)等,這里重點(diǎn)要說(shuō)的是符號(hào)表,符號(hào)表是一個(gè)數(shù)組,數(shù)組的元素是結(jié)構(gòu)體,結(jié)構(gòu)體描述了文件中符號(hào)的各種信息(符號(hào)名,符號(hào)值,符號(hào)類型等)

而C++支持函數(shù)重載,C不支持函數(shù)重載的原因是它們生成符號(hào)名時(shí)機(jī)制不同

C語(yǔ)言在生成符號(hào)表時(shí),符號(hào)名是變量或函數(shù)名
C++在生成符號(hào)表時(shí),符號(hào)名是函數(shù)名和形參列表的組合

如GCC編譯器的修飾規(guī)則如下 :
(1).所有的符號(hào)都以_Z開頭
(2).沒(méi)有嵌套的名字后跟函數(shù)名,函數(shù)名前是函數(shù)名的字符串長(zhǎng)度,后跟參數(shù)類型首字母
(3).對(duì)于嵌套的名字(在命名空間或類里),后面緊跟'N',然后是命名空間或類的名稱,每個(gè)名字前是每個(gè)名字的字符串長(zhǎng)度,后跟函數(shù)名,函數(shù)名前是函數(shù)名的字符串長(zhǎng)度,后跟'E',后跟參數(shù)類型首字母

由此我們就知道了C++為什么支持重載,而C語(yǔ)言不支持重載,因?yàn)镃++生成目標(biāo)文件以后,同名函數(shù)只要參數(shù)列表不同,符號(hào)名就不相同,而C語(yǔ)言生成目標(biāo)文件以后,同名函數(shù)的符號(hào)名相同,就會(huì)引發(fā)命名沖突

五.extern"C"

C++為了與C兼容,在符號(hào)的管理上,C++有一個(gè)用來(lái)聲明或定義C的符號(hào)的extern "C"關(guān)鍵字的用法

extern "C"
{
	int func(int);
	int var;
}

C++編譯器會(huì)將大括號(hào)里面的代碼當(dāng)成C語(yǔ)言的代碼來(lái)處理

六.引用

引用概念 : 引用不是新定義一個(gè)變量,而是給已存在變量取了一個(gè)別名,編譯器不會(huì)為引用變量開辟內(nèi)存空間,它和它引用的變量共用同一塊內(nèi)存空間。

使用: 類型& 引用變量名(對(duì)象名) = 引用實(shí)體

void TestRef()
{
 	int a = 10;
 	int& ra = a;//<====定義引用類型
 
 	printf("%p\n", &a);
 	printf("%p\n", &ra);
 	// 打印的地址一樣
}

注意 : 引用類型必須和引用實(shí)體是同種類型的

引用特性 :
(1).引用必須初始化
(2).引用一旦初始化,不能被更改
(3).一個(gè)變量可以有多個(gè)引用

void TestRef()
{
 	int a = 10;
 	// int& ra; // 該條語(yǔ)句編譯時(shí)會(huì)出錯(cuò)
 	int& ra = a;
 	int& rra = a;
 	printf("%p %p %p\n", &a, &ra, &rra); // 地址都一樣 
}

常引用 :

void TestConstRef()
{
 	const int a = 10;
 	//int& ra = a; // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),a為常量
 	const int& ra = a;
 	// int& b = 10; // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),b為常量
 	const int& b = 10;
 	double d = 12.34;
 	//int& rd = d; // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),類型不同
 	const int& rd = d;
}
const int a = 10;
 //int& ra = a; // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),a為常量

編譯出錯(cuò)的原因 :
原來(lái)a不能被修改,類型為 const int,但ra的類型為int,使權(quán)限提升了

double d = 12.34;
 //int& rd = d; // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),類型不同
 const int& rd = d;

編譯出錯(cuò)的原因 :
在進(jìn)行類型轉(zhuǎn)換時(shí),會(huì)產(chǎn)生一個(gè)臨時(shí)變量,rd是臨時(shí)變量的別名,但因?yàn)榕R時(shí)變量具有常性,因此 int& rd = d;是錯(cuò)誤的

引用做參數(shù)

void Swap(int& left,int& right)
{
	int tmp = left;
	left = right;
	right = tmp;
}

引用做返回值

// 正確寫法
int& Count()
{
 	static int n = 0;
 	n++;
 	// ...
 	return n;
}

下面代碼的運(yùn)行結(jié)果是什么?

// 錯(cuò)誤示范
int& Add(int a, int b)
{
 	int c = a + b;
 	return c; 
}
int main()
{
 	int& ret = Add(1, 2);
 	Add(3, 4);
 	cout << "Add(1, 2) is :"<< ret <<endl;
 	// Add(1,2) is : 7
 	return 0; 
}

錯(cuò)誤在于返回了局部變量的引用,Add函數(shù)返回的是局部變量c的引用,c出了作用域以后,c的空間就被操作系統(tǒng)回收了

引用和指針的區(qū)別
(1).引用必須初始化,指針可以不初始化
(2).引用初始化一個(gè)實(shí)體之后,不能再引用另外一個(gè)實(shí)體,指針指向一個(gè)實(shí)體后,可以再指向另外一個(gè)實(shí)體
(3).不存在空引用,存在空指針
(4).在語(yǔ)法上,引用是給一個(gè)變量取別名,指針取的變量的地址
(5).在sizeof中含義不同:引用結(jié)果為引用類型的大小,但指針始終是地址空間所占字節(jié)個(gè)數(shù)(32位平臺(tái)下占4個(gè)字節(jié))
(6).引用自加即引用的實(shí)體增加1,指針自加即指針向后偏移一個(gè)類型的大小
(7).有多級(jí)指針,但是沒(méi)有多級(jí)引用
(8). 訪問(wèn)實(shí)體方式不同,指針需要顯式解引用,引用編譯器自己處理
(9). 引用比指針使用起來(lái)相對(duì)更安全

七.內(nèi)聯(lián)函數(shù)

內(nèi)聯(lián)函數(shù)概念 : 以inline修飾的函數(shù)叫做內(nèi)聯(lián)函數(shù),編譯時(shí)C++編譯器會(huì)在調(diào)用內(nèi)聯(lián)函數(shù)的地方展開,沒(méi)有函數(shù)壓棧的開銷,內(nèi)聯(lián)函數(shù)提升程序運(yùn)行的效率。

C語(yǔ)言為了小函數(shù)避免棧幀的消耗,提供了宏函數(shù)的支持,那為什么C++還要引入內(nèi)聯(lián)函數(shù)呢?

(1).宏函數(shù)在預(yù)處理階段會(huì)被替換掉,不能進(jìn)入函數(shù)內(nèi)部進(jìn)行調(diào)試
(2).宏函數(shù)不支持類型檢查,語(yǔ)法復(fù)雜,容易出錯(cuò)

inline int Add(int x,int y)
{
	return x + y;
}
int main()
{
	int ret = Add(1,2);
	cout<<ret<<endl;
}

八.auto關(guān)鍵字(C++11)

在早期C/C++中auto的含義是:使用auto修飾的變量,是具有自動(dòng)存儲(chǔ)器的局部變量。

C++11中,標(biāo)準(zhǔn)委員會(huì)賦予了auto全新的含義即:auto不再是一個(gè)存儲(chǔ)類型指示符,而是作為一個(gè)新的類型指示符來(lái)指示編譯器,auto聲明的變量必須由編譯器在編譯時(shí)期推導(dǎo)而得。

int main()
{
	int a = 10;
	auto b = a;
	// 類型聲明成auto,可以根據(jù)a的類型自動(dòng)推導(dǎo)出b的類型
}

(1). auto與指針和引用結(jié)合起來(lái)使用

用auto聲明指針類型時(shí),用auto和auto*沒(méi)有任何區(qū)別,但用auto聲明引用類型時(shí)則必須加&

int main()
{
 	int x = 10;
 	auto a = &x;  // 推導(dǎo)出 a 的類型為 int*
 	auto* b = &x; // 推導(dǎo)出 b 的類型為 int*
 	auto& c = x;  // 推導(dǎo)出 c 的類型為 int
 	cout << typeid(a).name() << endl;  // int*
 	cout << typeid(b).name() << endl;  // int*
 	cout << typeid(c).name() << endl;  // int
 	*a = 20;
 	*b = 30;
 	 c = 40;
 	 return 0;
}

(2). 在同一行定義多個(gè)變量當(dāng)在同一行聲明多個(gè)變量時(shí),這些變量必須是相同的類型,否則編譯器將會(huì)報(bào)錯(cuò),因?yàn)榫幾g器實(shí)際只對(duì)第一個(gè)類型進(jìn)行推導(dǎo),然后用推導(dǎo)出來(lái)的類型定義其他變量。

void TestAuto()
{
 	auto a = 1, b = 2; 
 	auto c = 3, d = 4.0; // 該行代碼會(huì)編譯失敗,因?yàn)閏和d的初始化表達(dá)式類型不同
}

(3). auto不能作為函數(shù)的參數(shù)

// 此處代碼編譯失敗,auto不能作為形參類型,因?yàn)榫幾g器無(wú)法對(duì)a的實(shí)際類型進(jìn)行推導(dǎo)
void TestAuto(auto a)
{}

(4). auto不能直接用來(lái)聲明數(shù)組

void TestAuto()
{
 	int a[] = {1,2,3};
 	auto b[] = {4,5,6}; // 錯(cuò)誤
}

(5).為了避免與C++98中的auto發(fā)生混淆,C++11只保留了auto作為類型指示符的用法

九.范圍for

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

void TestFor()
{
 	int array[] = { 1, 2, 3, 4, 5 };
 	for(auto& e : array)
 		 e *= 2;
 
 	for(auto e : array)
		 cout << e << " ";
	// 2, 4, 6, 8, 10
}

以上就是C++入門(命名空間,缺省參數(shù),函數(shù)重載,引用,內(nèi)聯(lián)函數(shù),auto,范圍for)的詳細(xì)內(nèi)容,更多關(guān)于c++ 入門基礎(chǔ)知識(shí)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Qt QFrame的具體使用

    Qt QFrame的具體使用

    本文主要介紹了Qt QFrame的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 一文搞懂Codec2框架解析

    一文搞懂Codec2框架解析

    這篇文章主要介紹了Codec2框架解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • C語(yǔ)言實(shí)現(xiàn)掃雷小游戲(擴(kuò)展版可選擇游戲難度)

    C語(yǔ)言實(shí)現(xiàn)掃雷小游戲(擴(kuò)展版可選擇游戲難度)

    游戲目標(biāo)是找出所有沒(méi)有地雷的方格,完成游戲;要是按了有地雷的方格,游戲失??;玩家可標(biāo)記雷的位置,游戲以完成時(shí)間來(lái)評(píng)高低,并且用戶可以選擇游戲難度
    2019-10-10
  • C++資源管理操作方法詳解

    C++資源管理操作方法詳解

    系統(tǒng)中的資源,諸如動(dòng)態(tài)申請(qǐng)的內(nèi)存,文件描述符,數(shù)據(jù)庫(kù)連接,網(wǎng)絡(luò)socket等,在不用的時(shí)候,應(yīng)該及時(shí)歸還給系統(tǒng),否則就會(huì)造成內(nèi)存泄露
    2022-09-09
  • C++類和對(duì)象實(shí)戰(zhàn)之Date類的實(shí)現(xiàn)方法

    C++類和對(duì)象實(shí)戰(zhàn)之Date類的實(shí)現(xiàn)方法

    C++ 標(biāo)準(zhǔn)庫(kù)沒(méi)有提供所謂的日期類型,C++ 繼承了C語(yǔ)言用于日期和時(shí)間操作的結(jié)構(gòu)和函數(shù),這篇文章主要給大家介紹了C++類和對(duì)象實(shí)戰(zhàn)之Date類的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2021-12-12
  • C++實(shí)現(xiàn)LeetCode(12.整數(shù)轉(zhuǎn)化成羅馬數(shù)字)

    C++實(shí)現(xiàn)LeetCode(12.整數(shù)轉(zhuǎn)化成羅馬數(shù)字)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(12.整數(shù)轉(zhuǎn)化成羅馬數(shù)字),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C/C++ 中怎樣使用SetConsoleTextAttribute()函數(shù)來(lái)控制輸出字符的顏色

    C/C++ 中怎樣使用SetConsoleTextAttribute()函數(shù)來(lái)控制輸出字符的顏色

    這篇文章主要介紹了C/C++ 中如何使用SetConsoleTextAttribute()函數(shù)來(lái)控制輸出字符的顏色,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • c++ 頭文件<cwchar>中常見(jiàn)函數(shù)的實(shí)現(xiàn)代碼

    c++ 頭文件<cwchar>中常見(jiàn)函數(shù)的實(shí)現(xiàn)代碼

    本文記錄了c++ 頭文件<cwchar>中常見(jiàn)函數(shù)的實(shí)現(xiàn),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • vscode調(diào)試使用make編譯的項(xiàng)目

    vscode調(diào)試使用make編譯的項(xiàng)目

    VSCode本身是一個(gè)代碼編輯器,自帶的編譯功能比較弱,本文主要介紹了vscode調(diào)試使用make編譯的項(xiàng)目,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • C語(yǔ)言實(shí)現(xiàn)推箱子代碼

    C語(yǔ)言實(shí)現(xiàn)推箱子代碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)推箱子代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評(píng)論