随笔分类 -  C/C++

摘要:最近做的一点工作。基本原理是客户端与服务器一对一通信。客户端作为接收方解析数据,服务器端作为发送端,封包数据基本封包格式如下:通信格式说明101,1,6.8,3, 4494.99,0.264894,0.753365,0.798609,0.395870,0.612474,0.703561,2101起始... 阅读全文
posted @ 2015-11-16 12:38 vpoet 阅读(1134) 评论(0) 推荐(0)
摘要:本文演示如何在你的程序中使用 lambda 表达式。有关 lambda 表达式的概述,请参阅C++ 中的 Lambda 表达式。有关 lambda 表达式结构的详细信息,请参阅Lambda 表达式语法。本文内容声明 Lambda 表达式调用 Lambda 表达式嵌套 Lambda 表达式高阶 Lam... 阅读全文
posted @ 2015-09-04 15:21 vpoet 阅读(387) 评论(0) 推荐(0)
摘要:1.有以下题目: 1 #include 2 using namespace std; 3 4 void GetMemeory(char* p) 5 { 6 p=(char*)malloc(sizeof(char)*100); 7 } 8 9 int main()10 {11 c... 阅读全文
posted @ 2015-08-31 16:50 vpoet 阅读(1605) 评论(1) 推荐(1)
摘要:我们先看下面这样一段代码: 1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 char *p1= "123"; 8 char *p2= "ABC"; 9 char str[50]= "xy... 阅读全文
posted @ 2015-08-30 21:11 vpoet 阅读(2846) 评论(1) 推荐(0)
摘要:1.只能在构造函数初始化列表初始化的成员变量的类型? a.const成员变量 b.引用类型的成员变量 c.static不能在初始化列表中进行初始化 d.类成员变量中有自定义类型的变量最好在初始化列表中进行初始化2.初始化列表的顺序? 初始化列表的初始化顺序是依据类成员变量定义的顺序来决定的。3.关于... 阅读全文
posted @ 2015-08-30 10:55 vpoet 阅读(464) 评论(0) 推荐(0)
摘要:C++覆盖 重载 隐藏是三个经常容易混淆的概念这里我们简单总结下:1.重载的条件(编译时多态) a.同一个类中 b.函数名相同,参数不同(返回值不能作为重载的条件) c.与函数是否为虚函数无关2.覆盖的条件(运行时多态) a.不同的类中,往往是一个继承体系 b.基类该函数为虚函数 c.派生类函数名相... 阅读全文
posted @ 2015-08-29 21:56 vpoet 阅读(224) 评论(0) 推荐(0)
摘要:大多数C++书籍都说在我们没有自己定义构造函数的时候,编译器会自动生成默认构造函数。其实这句话我一直也是深信不疑。但是最近看了一些资料让我有了一点新的认识。其实我觉得大多数C++书籍之所以这样描述其实是玩了文字游戏的。如果说编译器自动产生的默认构造函数对于我们的类没有任何作用,也就是说在编译器默认生... 阅读全文
posted @ 2015-07-31 11:37 vpoet 阅读(663) 评论(0) 推荐(0)
摘要:本文仅代表博主自己对C++内存对象模型的一点理解,如果文中有理解偏差和不准确的地方,希望各位大大提出,我好及时改正。本博文只对博主自己负责,不对任何人负责。就如《深度探索C++对象模型》一书中介绍的C++的封装并没有给C++带来过多的开销。然而面向对象的编程方法却给广大的编程者提供了一种更为开阔的编... 阅读全文
posted @ 2015-07-28 11:39 vpoet 阅读(756) 评论(2) 推荐(3)
摘要:其实我们从直观上可以很好的理解静态成员函数不能调用非静态成员变量这句话因为无论是静态成员函数还是静态成员变量,它们都是在类的范畴之类的,及在类的整个生存周期里始终只能存在一份。然而非静态成员变量和非静态成员函数是针对类的对象而言。然而从本质上来说类的静态成员函数的函数形参中没有默认的this指针,导... 阅读全文
posted @ 2015-07-27 18:00 vpoet 阅读(4009) 评论(0) 推荐(0)
摘要:关于进程的内存的分配参考博文:http://blog.csdn.net/hongchangfirst/article/details/6917829这里主要说说堆区和栈区的区别:1.堆区是程序里动态分配的内容,堆区的内存容量大,使用灵活,分别后要自行回收容易产生内存碎片。2.栈区主要是存储函数的局部... 阅读全文
posted @ 2015-07-27 17:27 vpoet 阅读(1573) 评论(0) 推荐(0)
摘要:先介绍一个问题,一个空类的大小是多少?我们不妨测试一下: 1 #include 2 using namespace std; 3 4 class vpoet 5 { 6 7 }; 8 9 int main()10 {11 cout<<"sizeof(vpoet)="<<sizeof(... 阅读全文
posted @ 2015-07-27 14:30 vpoet 阅读(2551) 评论(0) 推荐(1)
摘要:内存对齐其实是为了在程序运行的时候更快的查找内存而做的一种编译器优化。我们先看这样一个例子: 1 #include 2 using namespace std; 3 4 struct vpoet 5 { 6 int a; //4 bytes 7 char b; //1 b... 阅读全文
posted @ 2015-07-27 13:26 vpoet 阅读(2420) 评论(0) 推荐(1)
摘要:今天看到书上降到memcpy和memmove的区别才突然发现原来两者之间有如此区别,以前只知道这两个函数是实现同样的功能,没有接触到其不同。memcpy和memmove在MSDN的定义如下:从两者的声明来看的确没有区别,我们来看这样一个例子当我们需要将char* src="abcde"这个字符串全部... 阅读全文
posted @ 2015-07-24 15:58 vpoet 阅读(280) 评论(0) 推荐(0)
摘要:使用过STL的人都应该知道关于迭代器失效的原理,这里以后vector迭代器失效为例:第一种:当插入一个元素到vector中,如果插入后容器已满,那么容器将新开辟一块内存区域,然后将原内存中的数据拷贝到新的内存区域,同时释放旧的内存。这样之前指向旧内存的迭代器就会指向不确定内存,这块内存要么释放,要么... 阅读全文
posted @ 2015-07-22 16:36 vpoet 阅读(1032) 评论(0) 推荐(0)
摘要:STL源码剖析读书笔记之vector1.vector概述vector是一种序列式容器,我的理解是vector就像数组。但是数组有一个很大的问题就是当我们分配一个一定大小的数组的时候,起初也许我们不会觉得数组容量太小不合需求,但是随着数据量的增加,数组尺寸大小不再满足需求,此时我们需要手动的去扩展其大... 阅读全文
posted @ 2015-07-22 13:48 vpoet 阅读(556) 评论(0) 推荐(0)
摘要:我们有下面的测试代码: 1 #include 2 using namespace std; 3 4 5 int main() 6 { 7 int num1=7; 8 cout>2: ">2)>1: ">1)>2: ">2)<<endl;14 return 0;15 }对... 阅读全文
posted @ 2015-07-22 11:42 vpoet 阅读(252) 评论(0) 推荐(0)
摘要:#ifndef,#define,#end 是宏定义的一种---条件编译这样我直接举个例子好了:我定义两个相同的类A分别在single.h和singlenew.hsingle.h: 1 #include 2 using namespace std; 3 4 class A 5 { 6 public... 阅读全文
posted @ 2015-07-20 21:47 vpoet 阅读(1032) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 4 5 #define maxn 200 6 void main() 7 { 8 FILE *fp; 9 int s[maxn][maxn];10 int i,j;11 if((fp=fopen("d:\\temp\\test.t... 阅读全文
posted @ 2014-12-18 17:39 vpoet 阅读(289) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/jack204/archive/2011/12/02/2271884.html 反汇编http://www.cnblogs.com/pamxy/archive/2013/03/25/2991435.html ESP寄存器http://www.cnblog... 阅读全文
posted @ 2014-10-31 09:27 vpoet 阅读(154) 评论(0) 推荐(0)
摘要:可以用下面的代码详细理解mwArray和一般数组之间的区别 1 mwArray a(3, 2, mxDOUBLE_CLASS); 2 double *aData; 3 aData = new double[6]; 4 in... 阅读全文
posted @ 2014-10-28 21:29 vpoet 阅读(705) 评论(0) 推荐(0)