国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++ Primer Plus(第六版)第十八章習(xí)題,寫代碼之路

2019-11-10 17:15:26
字體:
供稿:網(wǎng)友

c++ PRimer Plus(習(xí)題18.1)

//與c類似的初始化列表功能//簡單的函數(shù)題目,這本書的最后一張其實(shí)可以不用做了//不太好做#include<iostream>#include<initializer_list>			//C++11新標(biāo)準(zhǔn)template<class T>				//or typenameT average_list(std::initializer_list<T>r);		//一個返回改類型平均值的函數(shù)int main(){	using namespace std;	auto q = average_list(initializer_list<double>{ 15.4,10.7,9.0 });		cout << q << endl;		//11.7	cout << average_list(initializer_list<int>{ 20,30,19,17,45,38 })<<endl;	//28.16	auto ad = average_list<double>({ 'A',70,63.33 });	//這里書上說是強(qiáng)制初始化列表類型為double,具體的用法應(yīng)該是initializer_list的特性	cout << ad << endl;	cout << "Cheak it,sir!/n";	return 0;}template<class T>				//or typenameT average_list(std::initializer_list<T>r){	T tot=0;		//出現(xiàn)top為	int i = 0;	for (auto p = r.begin(); p != r.end(); p++,i++)		tot += *p;	return tot / i;}c++ Primer Plus(習(xí)題18.2)

//一個簡單的類設(shè)計,要求使用移動構(gòu)造函數(shù)和移動復(fù)制運(yùn)算符//移動寓意和右值的引用有關(guān),這是一種更高效的數(shù)據(jù)復(fù)制方法,在某些情況下//第一次運(yùn)行出現(xiàn)停止運(yùn)行,訪問權(quán)限出了問題,大意啊,指針竟然沒用new來分配內(nèi)存#include<iostream>#include"cpmv.h"int main(){	using namespace std;		//大括號為了看見析構(gòu)函數(shù)	{				Cpmv one("C","++");		Cpmv two = one + one;		//呼叫移動右值引用,還有重載的+號		cout << "object one: /n";		one.Display();		cout << "object two: /n";		two.Display();		Cpmv three, four;		cout << "three=one/n";		three = one;					//呼叫賦值預(yù)算符		cout << "now object three is: ";		three.Display();		cout << "four=one+two/n";		//產(chǎn)生右值了,呼叫移動賦值運(yùn)算符		four = one + two;		four.Display();		cout << "Test complete!/n";			}	return 0;}c++ Primer Plus(習(xí)題18.3)

//c++新標(biāo)準(zhǔn),可變參數(shù)模板,c語言也有//看了大神做的,簡單粗暴#include<iostream>long double sum_value() { return 0; }	//遞歸的終止條件template<typename T,typename...Args>long double sum_value(T value, Args...args);int main(){	using namespace std;	cout << sum_value(100, 200, 300)<< endl;	cout << sum_value(10.2, 31.5, 21, 4, 21.5, 36.8) << endl;	return 0;}template<typename T, typename...Args>long double sum_value(T value, Args...args){	long double result;		//沒理解遞歸的精髓和參數(shù)包的展開,記得這里傻傻的初始化為0	result=sum_value(args...);		//這個也想了一會兒,有點(diǎn)難度,對于我這種小菜鳥來說		//展開包,使用遞歸	result += value;	return result;	//附上高手的簡潔代碼 return (long double)(t)+(long double)sum_value(args...);  }c++ Primer Plus(習(xí)題18.4)//你會很詫異,為什么沒有解答了,這一題,因?yàn)檎也坏侥莻€老師要改的題目//說是16.5程序清單,可是那時什么鬼,所以,不解釋了

完結(jié)了,可能只是一個開始罷了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 阳朔县| 屏南县| 铁力市| 北京市| 自贡市| 勃利县| 五常市| 军事| 绥阳县| 大兴区| 农安县| 烟台市| 深圳市| 大渡口区| 竹山县| 英山县| 离岛区| 新营市| 丹巴县| 开化县| 勐海县| 大安市| 绿春县| 徐汇区| 墨脱县| 综艺| 望奎县| 新宁县| 甘泉县| 西乡县| 始兴县| 九江县| 毕节市| 武宁县| 离岛区| 依安县| 原阳县| 六盘水市| 剑川县| 陇南市| 龙南县|