06 2014 档案
摘要:#include using namespace std;int main(){ //1.const_cast //const int a = 10; //int* ptr = const_cast(&a);//将const属性去除 //*ptr = 100; //2....
阅读全文
摘要:本来看看return到底做了什么结果看了这个复制构造函数,复制构造函数调用的场合如下:• 根据另一个同类型的对象显式或隐式初始化一个对象。• 复制一个对象,将它作为实参传给一个函数。//传递实参的副本时会调用• 从函数返回时复制一个对象。//return返回一个副本时会调用• 初始化顺序容器中的元素...
阅读全文
摘要:我们知道在C++的创建对象是一个费时,费空间的一个操作。有些固然是必不可少,但还有一些对象却在我们不知道的情况下被创建了。通常以下三种情况会产生临时对象: 1,以值的方式给函数传参; 2,类型转换; 3,函数需要返回一个对象时;现在我们依次看这三种情况:一,以值的方式给函数传参。 我们知道给函数传参...
阅读全文
摘要:string str("12345");string str = "12345";在写代码时忽然想到这个两个有啥区别呢,其实这个还是c++基础薄弱的原因于是我又翻开了primerc++支持两种初始化方式:复制初始化和直接初始化int ival(1024);//直接初始化int ival = 1024...
阅读全文
摘要:个人觉得杨过还是喜欢郭芙的,郭芙也是喜欢杨过的,但互相有一种对峙的心理,放不下自己的面子。原著:一见杨过,难误终身。看电视剧,看他两个对话,在加上那个配乐,还真受不了。
阅读全文
摘要://http://zh.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr#include #include void fun(int* p){}int main(){ { std::shared_ptr ptr = std::...
阅读全文
摘要:#include typedef int (__stdcall* FUN)(int);//定义函数指针,参数为Int,返回为int,调用约定__stdcallint __stdcall fun1(int x){ std::cout << x << std::endl; return x;...
阅读全文
摘要:(int)()这个是c语言的强制转换,众所知周int(),这种理解靠谱点Class A{A(int i){}}调用int类型的构造函数然后转换的其实都可以转换。
阅读全文
摘要:我看我们项目创建线程从来不join,detach#include #include #include #include void fun(){ while (true) { std::cout << "hehhe" << std::endl; }}int main()...
阅读全文
摘要:c++ primer说公有的函数就是接口现在项目中struct I_XX{ virtual void test() = 0;};这个test才被称作接口,我就不知道什么到底是接口,貌似这种说靠谱点接口有不同层次的定义, 比如C++通常把类的公用成员函数函数说成接口; 比如,我们通常把Win API...
阅读全文
摘要://i_vptrstruct i_vptr { virtual void test() = 0;};//vptr.h#include "i_vptr.h"#include class vptr:public i_vptr{public: void test();};//vptr.c...
阅读全文
摘要:前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函...
阅读全文
摘要://client#include #include #pragma comment(lib, "WS2_32") // 链接到WS2_32.libusing namespace std;int main(){ SOCKET so; WSADATA ws; if (WSASta...
阅读全文
摘要://A.h#include using namespace std;namespace A{ class NA { public: void fun1(); };}//A.cpp#include "A.h"namespace A{ void NA::fun...
阅读全文
摘要:/*auto_ptr:会发生语义转移,不支持应用计数scoped_ptr:不支持复制,只有自己可以管理指针scoped_array:支持数组shared_ptr:最好的智能指针,支持引用计数,容器操作等,复制指针时引用计数加一,当复制的对象析构时引用计数减1,当引用计数为0是析构对象*/#inclu...
阅读全文
摘要:“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的Q...
阅读全文
摘要:摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,并加以比较和分析,希望...
阅读全文
摘要:1.什么是继承A继承B,说明A是B的一种,并且B的所有行为对A都有意义eg:A=WOMAN B=HUMANA=鸵鸟 B=鸟 (不行),因为鸟会飞,但是鸵鸟不会。2.什么是组合若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。例如眼(Eye)、鼻(N...
阅读全文
摘要:一、 成员初始化列表的位置。成员初始化列表的位置位于构造函数的函数体和参数表之间。构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式,初始化式可以是表达式、派生类构造函数的形参还有其余常量。通过成员初始化表,类数据成员可以被显式初始化。成...
阅读全文
摘要:deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。但它又与vector不同,deque支持高效插入和删除容器的头部元素,因此也叫做双端队列。deque类常用的函数如下。(1)构造函数deque():创建一个空deque...
阅读全文
摘要:看了两天,这三者之间的关系好像是这样的,因为GS和net在同一台机器上,所以用共享内存通信,毕竟共享内存通信是最快的进程间通信的方式,而NGP是属于客户端的,Net是属于服务器的,他与Net进程是基于LibEvent通信的,Libevent里面创建的是基于Tcp创建的socket,也就是靠他进行网络...
阅读全文