![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++学习
闪电鸟
闪电鸟笑傲漫游小小鸟。
展开
-
初学istream_iterator(转)
标准程序库定义有供输入及输出用的iostream iterator类,称为istream_iterator和ostream_iterator,分别支持单一型别的元素读取和写入。使用这两个iterator classes之前,先得含入iterator头文件:#include 现在让我们看看如何利用istream_iterator从标准输人装置中读取字符串。就像所有的iterators转载 2014-09-22 15:54:05 · 511 阅读 · 0 评论 -
拷贝构造函数~浅复制深复制~浅复制带来的危害以及解决办法
假设有两个类A和B,如果在类原创 2014-09-26 10:14:18 · 552 阅读 · 0 评论 -
Vector与List区别详细介绍
vector与list区别vector为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高。在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大,因为拷贝对象要调用拷贝构造函数。对于简单的小对象,vector转载 2014-09-26 09:54:54 · 490 阅读 · 0 评论 -
剑指offer,时间复杂度为o(n)的空格替换算法,44页例子代码
#include#includechar* getTheStr(char*strP){ char *temp=strP; int countSpace=0,count=0; while(*temp!='\0'){ if(*temp==' ') countSpace++; count++; temp++; } count++; char *getStr=new原创 2015-01-18 17:52:34 · 483 阅读 · 0 评论 -
剑指offer,二维数组中的查找,38页例子代码
#include#includevoid getTheNum(int num,int data[4][4]){ int i=0,j=3; while(i-1){ if(data[i][j]==num){ std::cout<<i<<" "<<j<<std::endl; return; } else if(data[i][j]<num){ i++; }原创 2015-01-18 16:02:14 · 487 阅读 · 0 评论 -
C++运算符重载,+-*/的重载,返回值为什么是对象而不是对象的引用?而流操作符<< 和 >> 却返回的是引用?
原因是:+,-,*等返回不了引用,比如+运算符,可以如下重载(为了简单,假设A 只有int x;int y)A operator+(A a,A b) {A sum; sum.x=a.x+b.x; sum.y=a.y+b.y; return sum; }分析不能用引用的原因: 函数传入了两个参数a,b,并且+只能传入两个参数(c++不允许自己创造运算符),这样就限原创 2016-01-02 23:58:50 · 1414 阅读 · 4 评论 -
vc结构体内存分配、对其方式
概念:已经分配的量(为了一块一块的分配)例子:struct s { int i; char c;};对于i,已分配的量为0,对于c,已分配的量为4。原则:在存储过程中,为了提高CPU的存储速度,编译器会对变量的起始地址做“对齐”处理,VC规定结构体已分配的量必须为将要分配类型的整数倍。并且整个结构体的字节数必须是该结构体中占用空间最大的类型的字节数的整数倍原创 2016-01-03 01:37:39 · 431 阅读 · 0 评论 -
关于char强转为int(vc)
在vc下做测试#includeusing namespace std;int main(){ char c = 223; int n = c; cout<<n<<endl; system("pause"); return 1;}则n输出为负数。分析如下:当char转成int的时候,vc下会把char当作有符号数,223二进制为1101 1111,当char强转int的时原创 2016-01-03 01:48:03 · 1115 阅读 · 0 评论 -
带头节点和不带头节点的链表
typedef struct head{ head *next; int _num; head(){ next = NULL; _num = 1; }}user_head;如果链表初始化用user_head p;那只能是带头节点的链表了,此时p中的_num会浪费掉,因为你定义的同时就分配空间了,而且p中的_num会浪费掉,因为你不能判断链表是不是为空,除非加标记字段,这种情况下你原创 2016-01-03 02:18:01 · 1278 阅读 · 0 评论