c++标准库读书笔记--004Day

a.崭新的Template特性

// demo3.5.1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>

using namespace std;

void show()
{
}

template <typename T,typename... Types>
void show(const T& firstArg,const Types&... args)
{
	cout << firstArg << endl;
	show(args...);
}

int _tmain(int argc, _TCHAR* argv[])
{
	show(2,4,2,"guojun");

	system("pause");
	return 0;
}

b.Lambda

// demo3.6.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	[]{cout << "hello,world!" << endl; };             //什么也不做
	[]{cout << "hello,world!" << endl; }();           //加入(),调用
//	auto l = []{cout << "hello,world!" << endl; }();  //vs2013不能用auto推导void

	auto l = []{cout << "hello,world!" << endl; return 0; };
	l();
	auto j = [](const string& s){cout << s << endl; return 0; };  //可以有参数
	j("hehe");

	auto k = []()->double{return ‘a‘; };                          //指定返回类型
	cout << k() << endl;

	int x = 0;
	int y = 42;
	auto qqq = [x, &y]
	{
		cout << "x:" << x << endl;
		cout << "y:" << y << endl;
		y++;
	};

	x = y = 77;
	qqq();
	qqq();
	cout << "final y:" << y << endl;

	int id = 0;
	auto f = [id]()mutable
	{
		cout << "id:" << id << endl;
		++id;                          //改变的是临时变量,副本
	};

	id = 42;
	f();
	f();
	f();
	cout << id << endl;

	system("pause");
	return 0;
}
时间: 2024-11-09 02:49:48

c++标准库读书笔记--004Day的相关文章

c++标准库读书笔记--005Day

Class Pair和Class Tuple // demo5.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include <string> #include <tuple> typedef std::pair<int, double> InfoPair; typedef std::tuple<int, std::string, double&

SPL(PHP标准库)-----------------------个人笔记

<?php     ****************************************PHP高级程序员必修课******************************************************* //SPL:PHP标准库,Standand  PHP  Library   解决常见问题的一组接口与类的集合 /* 问题:数学建模/数据结构,解决数据如何存储的问题 元素便利,数据如何查看的问题 常用方法的统一调用(通用方法,自定义遍历) 类定义的自动装载 */ /

《C++primer》v5 第8章 IO库 读书笔记 习题答案

8.1.8.2 这一章不咋会啊.. istream &read(istream &is) { int a; auto old_state=is.rdstate(); is.clear(); is>>a; is.setstate(old_state); return is; } int main() { read(cin); return 0; } 8.3 读到eof或错误类型的时候 8.4 #include<fstream> using namespace std;

了解ado.net 的相关内库--读书笔记

以下内容来自此书"精通c#与.net 4.0数据库开发-清华大学出版社"如有清泉还请联系删除 "  ado.net是一组向 .net程序员公开数据访问服务的接口(包括类.结构体.接口等)ado.net为创建分布式数据 共享应用程序提供了一组丰富的组件,对mic sql ser 和xml等数据源及通过ole db和xml公开的数据源提供了一致的访问. " ado.net 只是一个组件,是.net框架的一部分,有一组工具和类库组成" ado.net提供的程序中

读书笔记-APUE第三版-(5)标准IO库

ISO C标准I/O库使用流的概念读写文件.流是对数据传输的抽象,可以把流理解为从起点到终点间的字节序列. 标准I/O库通过维护进程空间内的缓冲区,减少read/write系统调用次数来提高I/O效率.之前介绍的Unbuffered I/O和文件描述符fd打交道,标准I/O则使用FILE指针. typedef struct{ short level;/*缓冲区满程度*/ unsigned flags;/*文件打开状态标志*/ char fd;/*文件描述符*/ unsigned char hol

C++ Primer 读书笔记: 第8章 标准IO库

第8章 标准IO库 8.1 面向对象的标准库 1. IO类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,而sstream所定义的类型则用于读写存储在内存中的string对象.在fstream和sstream里定义的美中类型都是从iostream头文件中定义的相关类型派生而来. 2. 流对象不能复制,因此不能存储在vector容器中 3. 形参或返回类型也不能为流类型.如果需要传递或返回IO对象,则必须传递或返回指向该对象的指针或引用.

读书笔记 effective c++ Item 54 让你自己熟悉包括TR1在内的标准库

1. C++0x的历史渊源 C++标准——也就是定义语言的文档和程序库——在1998被批准.在2003年,一个小的“修复bug”版本被发布.然而标准委员会仍然在继续他们的工作,一个“2.0版本”的C++标准预计在2009年被发布(虽然所有的工作很有可能在2007年底被完成).直到现在,发布下一版C++的预计年份还没有被确定,这就解释了为什么人们把下一版C++叫做“C++0x”——C++的200x年版本. C++0x可能会包含一些有趣的新的语言特性,但是大多数新C++功能将会以标准库附加物的形式被

C++ Primer 第四版读书笔记(二)之标准库类型

C++定义了一个内容丰富的抽象数据类型标准库,其中最重要的标准库类型是string和vector,它们分别定义了大小可变的字符串和集合.string和vector往往将迭代器用作配套类型,用于访问string中的字符,或者vector中的元素. 另一种标准库类型为bitset,提供了一种抽象方法来操作位的集合. string类型支持长度可变的字符串,vector用于保存一组指定类型的对象. bitset类标准库类型提供了更方便和合理有效的语言级的抽象设施.通过这个类可以把某个值当作位的集合来处理

C++ Primer 第四版读书笔记(七)之标准IO库

C++的输入/输出由标准库提供.标准库定义了一组类型,支持对文件和控制窗口等设备的读写(IO).还定义了其他一些类型,使string对象能够像文件一样操作,从而使我们无需IO就能实现数据与字符之间的转换.一般来说,类的设计者还可以很方便地使用IO标准库设施读写自定义类的对象.类类型通常使用IO标准库为内置类型定义的操作符和规则来进行读写. 一.面向对象的标准库 迄今为止,我们已经使用IO类型和对象读写数据流,它们常用于与用户控制窗口的交互.当然,实际的程序不能仅限于对控制窗口的IO,通常还需要读