随笔分类 - c++
c++
摘要:右值引用的功能 首先,我并不介绍什么是右值引用,而是以一个例子里来介绍一下右值引用的功能:#include #include using namespace std;class obj{public :obj() { cout > create obj " > copy create obj " ...
阅读全文
摘要:C++2011标准的右值引用语法去搜索“c++11右值引用”右值引用,当传入临时对象时可以避免一次拷贝。右值引用。举个例子C/C++ code?12345678//需要一次构造,两次赋值,即三次深拷贝 swap(T&a,T&b) { Ttmp(a); a=b; b=tmp; }使用右值引用后只需三次...
阅读全文
摘要:#pragma可以说是C++中最复杂的预处理指令了,下面是最常用的几个#pragma指令:#pragma comment(lib,"XXX.lib")表示链接XXX.lib这个库,和在工程设置里写上XXX.lib的效果一样。#pragma comment(linker,"/ENTRY:main_fu...
阅读全文
摘要:C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。C++中的结构体和类的异同:一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数; 也就是说在C++当中,结构体中可以有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有虚函数。二、不同之处:结构体定义中默认情况下的成员是public,而类定义中的默认情况下的成员是private的。实际上,C中的结构体只涉及到数据结构,而不
阅读全文
摘要:看了三天结构体,是时候总结一下了。 关于结构体的声明: struct Student{ char name[20]; char sex; int age; char addr[40];};/*然后定义一个Student 类型的 student变量*/struct Student student; 也许是我受了Java影响,我一度写成这样:struct man{ int age = 30; int score = 80;};int main(){ man man1 = {20,70};} 结果是铁定编译通过不了的。因为这是我自创的声明带...
阅读全文
摘要:第一篇:typedef struct与struct的区别1. 基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。2. typedef & 结构的问题当用下面的代码定义一个结构时,编译器报了一个错误,为什么呢?莫非C语言不允许在结构中包含指向它自己的指针吗?请你先猜想一下,然后看下文说明:
阅读全文