C++
文章平均质量分 65
飞翔吧胖子
胖子很胖但想飞翔
展开
-
几个小论调
今天有个同学问了我个问题我觉得很有意思所以就在这里写下来分享下:问题一:是在自己写链表实现函数中时void initList(Node** pNode){ *pNode=NULL;}此处的pNode为什么要声明为NODE** 而不是NODE*?此问题乍看将pNODE生米NODE*也是合理的,其实本质上还是将没有将函数的参数传递搞清楚,下面我就通过使用type原创 2013-09-27 16:37:38 · 500 阅读 · 0 评论 -
*.lib *.dll *.a *.o的文件作用
*.a和*.o文件是linux中的文件,其中*.o就相当于windows中的*.obj文件。当多个*.o合在一起的时候是*.a,用于静态链接,相当于windows中的库文件*.lib。*.so是动态链接库,相当于*.dll。其中对于*.lib来说有两种静态lib和动态lib之分。静态lib是将导出声明和实现都放在lib中,编译后所有代码都嵌入到宿主程序中。动态lib就相当于一个头文原创 2013-12-16 17:38:25 · 1121 阅读 · 0 评论 -
C/C++中变量在内存中的分布
C/C++中变量在内存中的分布#include #include ///////////////////////////////////// int g_i = 100; int g_j = 200; int g_k,g_h;//////////////////////////////////// int main() { const int MAXN = 100;//常量原创 2014-03-23 16:43:14 · 624 阅读 · 0 评论 -
C/C++中的几个小语法点
(1)for语句的执行顺序for(int i=0(1);i<10(2);i++(3)){ i++;(4)} 进入for循环语句中后首先执行的是循环条件初始化工作并且此工作只执行一次(1处), 然后执行条件判断语句(2处),如果条件不满足直接跳出循环,如果条件满足则执行循环体(4处),然后执行条件自增加运算(3处)看如下输出结果:for(a=0,x=0;a<=原创 2014-03-23 21:30:30 · 528 阅读 · 0 评论 -
两个关于a,b的面试题
题目一:有两个变量a,b,不用if /?:/swithc/或其他的判断语句,找出两个数中比较大。方案一:int max=((a+b)+abs(a-b))/2;方案二:int c=a-b;char *strs[2]={"a large","b large"};c=unsigned(c)>>(sizeof(int))*8-1;题目二:如何将a,b的值进行交换,并且不适用任何中间原创 2014-03-23 21:45:39 · 502 阅读 · 0 评论 -
std::vector(续)
std::vector(续)翻译 2014-09-03 17:07:53 · 711 阅读 · 0 评论 -
STL::string
STL::stringtypedef basic_string string;翻译 2014-09-05 17:32:52 · 589 阅读 · 0 评论 -
通过ini文件实现不同语言环境的界面文字的切换
在开发跨语言的应用程序时,经常要考虑到原创 2014-08-14 11:15:33 · 1587 阅读 · 0 评论 -
字符串转数字库函数集锦
字符串——>整数1、atoi功 能:把一字符串转换为整数用 法:int atoi(const char *nptr);详细解释:atoi是英文array to integer 的缩写。atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符 /0 时停止转换,返回整型数。 参 数: *nptr:原创 2014-08-28 16:13:28 · 584 阅读 · 0 评论 -
C++标准库获取时间和显示
1. C++标准库中的时间需要引用time.h,可以取的本地时间或者格林威治时间,只能精确到秒原创 2014-08-28 16:16:11 · 833 阅读 · 0 评论 -
std::vector
std::vector翻译 2014-09-03 16:06:34 · 1529 阅读 · 0 评论 -
C++标准库中的数学函数
C++中数学函数,所在函数库为cmath.h、cstdlib.h、cstring.h、cfloat.h 所以只要加头文件#include、#include、#include、#includeC中数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(stru转载 2013-11-26 09:12:35 · 866 阅读 · 0 评论 -
引用的小理解
话不多说先上代码:class Test{public: Test(int x=0,int y=0);//构造函数 Test(Test& T);//拷贝构造函数 Test operator=(Test T);//赋值函数/****************************************************** / //Tes原创 2013-11-03 12:31:43 · 457 阅读 · 0 评论 -
类的赋值函数和拷贝构造函数以及深、浅拷贝问题
拷贝构造函数:是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。赋值函数:是一种实现对象与对象之间相互赋值的过程。其实两种函数说白了就是让一个对象变成另外一个对象的copy。不过这两种函数在被调用的时机上还是有差别的,如下面代码:Object A;Object B=A; //此时调用的是拷贝构造函数A=B;原创 2013-11-03 11:56:49 · 780 阅读 · 0 评论 -
宏的一些使用
宏的本质宏的本质就是具有一定规则的文本替换。惯例以及好的习惯:1、 名字一般全部大写2、 后面不使用 ;3、 # 位于行首,不参与缩进;如果希望也有缩进,从 # 之后的内容开始4、 被包含文件(通常是头文件)的末尾单独有一个空行特性:1、 可嵌套 在一个宏定义中,引用之前已经定义过的另外一个宏是可以的。原创 2013-10-14 20:02:14 · 612 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 转载自陈皓今天看到陈皓前辈写的这篇C++虚函数表解析,使我茅塞顿开转载 2013-10-16 20:56:47 · 646 阅读 · 0 评论 -
组播技术的初级使用
最近在研究一个局域网监控的系统,该系统中使用到了组播技术,这个也是我对组播技术的第一次接触,所以就写下了如下的初级认识吧!组播(多播)一种通讯模式。主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接收到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将原创 2013-10-15 21:07:47 · 944 阅读 · 0 评论 -
关于error LNK2005: "char * xxx" (?xx@@3PADA) already defined in xxx
今天,看到群上的群友问一个关于LINK2005的BUG,报:已经定义过的错误其实这个问题难倒了很大一部分程序员,这个错误的原因是他想定义一个全局变量,于是他就在.h文件中直接定义并给这个变量赋值,这个做法是错误的,当这个.h文件被其他文件调用时,会报LINK2005,该变量已经定义的警告,那怎么办呢?先在A.cpp文件中定义该变量:char buf[1024] = {0};转载 2013-10-19 19:44:37 · 2248 阅读 · 0 评论 -
仿函数
仿函数,又叫做函数对象,是一个重载了"()"运算符的struct,是STL(标准模板库)六大组件(容器、配置器、迭代器、算法、配接器、仿函数)之一;仿函数虽然小,但却极大的拓展了算法的功能,几乎所有的算法都有仿函数版本。例如,查找算法find_if就是对find算法的扩展,标准的查找是两个元素向等就找到了,但是什么是相等在不同情况下却需要不同的定义,如地址相等,地址和邮编都相等,虽然这些相等的定义转载 2013-10-19 20:13:57 · 595 阅读 · 0 评论 -
IP多播技术及其编程
IP多播应用的编程方法 在实际应用中,编程人员通常需要自己编制底层网络应用程序来实现网上的底层通信,如具体实现IP多播通信的功能。编制底层网络应用程序通常要借助于网络数据通信编程接口,而在不同的操作系统中所提供的网络编程接口是有所不同的,如在Microsoft Windows环境下的网络编程接口就是Windows套接字(Windows Socket,简称Winsock)。Winsock原创 2013-10-20 10:39:26 · 745 阅读 · 0 评论 -
Select模型原理
Select模型原理利用select函数,判断套接字上是否存在数据,或者能否向一个套接字写入数据。目的是防止应用程序在套接字处于锁定模式时,调用recv(或send)从没有数据的套接字上接收数据,被迫进入阻塞状态。 select参数和返回值意义如下:int select ( IN int nfds, //0转载 2013-10-20 21:02:17 · 556 阅读 · 0 评论 -
WSAAsyncSelect模式
Winsock 提供了一个有用的异步I/O模型。利用这个模型,应用程序可在一个套接字上,接收以Windows消息为基础的网络事件通知。具体的做法是在建好一个套接字后,调用WSAAsyncSelect函数。该模型最早出现于Winsock的1.1版本中,用于帮助应用程序开发者面向一些早期的16位 Windows平台(如Windows for Workgroups),适应其“落后”的多任务消息环境。应用转载 2013-10-20 21:29:57 · 534 阅读 · 0 评论 -
WSAEventSelect模型
事件通知模型:要求我们的应用程序针对打算使用的每一个套接字,首先创建一个事件对象。创建方法是调用WSACreateEvent函数,它的定义如下: WSAEVENT WSACreateEvent(void); 函数的返回值很简单,就是一个创建好的事件对象句柄。事件对象句柄到手后,接下来必须将其与某个套接字关联在一起,同时注册自己感兴趣的网络事件类型。调用WSAEventSelect来做到转载 2013-10-20 22:10:49 · 514 阅读 · 0 评论 -
虚函数(续)
虚函数是为了实现多态而设计的,通过虚函数表实现了多态,首先多态是建立在继承的基础上的,没有继承关系也就不存在多态,当一个成员函数被声明为虚函数的时候,那么当其子类中有同名的函数时,就会出现覆盖现象。在类的编写中,尽量将所有的成员函数设置为虚函数,他除了会增减一些资源开销外(徐函数表),没有其他坏处。在将成员函数设置为虚函数的时候,还是有些限制的:1)只有类的成员函数才能说明为虚函数原创 2013-11-03 11:17:35 · 774 阅读 · 0 评论 -
STL::map
STL::map翻译 2014-11-06 17:19:13 · 436 阅读 · 0 评论