![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础
文章平均质量分 52
PeterPan19890802
这个作者很懒,什么都没留下…
展开
-
if与switch
我们先来看看if多分支的情况://Windows XP + gcc v3.4.2 (mingw-special) //testif.c int test_if_performance(int i) { int rv = i; if (rv == 10) { rv += 100; } else if (rv == 11) { rv += 101原创 2010-04-15 12:53:00 · 3758 阅读 · 0 评论 -
recvfrom以及recv
recvfrom比recv多两个参数的原因 recv是TCP的APIrecvfrom是UDP的API多余的两个参数可以用来接收对端的地址信息,这个对于udp这种无连接的,可以很方便地进行回复。而换过来如果你在udp当中也使用recv,那么就不知道该回复给谁了,如果你不需要回复的话,也是可以使用的。另外就是对于tcp是已经知道对端的,就没必要每次接收还多收一个地址,没有意义,要取地转载 2010-05-19 18:46:00 · 779 阅读 · 0 评论 -
Static成员变量的使用
#include using namespace std;class enemytarget{public: enemytarget() { ++numtargets; } enemytarget(const enemytarget&) { ++numtargets; } ~enemytarget() { --原创 2010-05-13 18:42:00 · 759 阅读 · 0 评论 -
_swab函数
<br /> 此函数的作用是调换字符串中的两个相邻的字符并赋给另一个字符串<br /> <br />int main(){ char from[] = "BADCFEHGJILKNMPORQTSVUXWZ"; char to[] = "........................."; cout<<"from:"<<from<<endl; cout<<"to: "<<to<<endl; _swab(from, to, sizeof(from)); cout<<"f原创 2010-07-01 16:05:00 · 1734 阅读 · 0 评论 -
typename和typedef关键字
typename指示一个类型名,而非定义一个类型,以下声明了一个Seq::iterator类型的变量itr,其中Seq是一个模板实例化时才知道的类: typename Seq::iterator itr;如果没有typename指示,Seq::iterator会被认为是Seq的静态变量,而不是类型名。typename关键字不会定义一个类型,如果你想定义一个新类型的话,你必须这样:转载 2010-05-07 15:54:00 · 698 阅读 · 0 评论 -
操作符重载
操作符重载重载&&、||或逗号以及取地址操作符不是一种好的做法定义了+操作符,也应该定义+=和=操作符一般将算术和关系操作符定义为非成员函数而将赋值操作符定义为成员= [] ()和->等操作符必须定义为成员将这些如果定义为非成员函数将在编译时标记为错误+=通常应定义为类的成员。但是不一定非得这么做,如果定义非成员复合赋值操作符不会出现编译错误自增、自减和&操作符通常定义为类成员算术原创 2010-05-06 20:42:00 · 445 阅读 · 0 评论 -
placement new的用法
placement new的作用就是:创建对象(调用该类的构造函数)但是不分配内存,而是在已有的内存块上面创建对象。用于需要反复创建并删除的对象上,可以降低分配释放内存的性能消耗。placement new 是重载operator new 的一个标准、全局的版本,它不能够被自定义的版本代替(不像普通版本的operator new 和 operator delete能够被替换)。void转载 2010-05-06 20:35:00 · 1098 阅读 · 1 评论 -
使用_CRTDBG_LEAK_CHECK_DF检查VC程序的内存泄漏
我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp : public CWinApp{public:BOOL InitApplication(){int* leak = new int[10];return TRUE;}};产生的内存泄漏报告大体如下:Detected memory leaks!Dumping objects ->c:worktest.cpp(186) : {52} n转载 2010-07-01 21:20:00 · 708 阅读 · 0 评论 -
c++标准库以及STL
<br />1.C++标准库<br /> 作为C++,其标准库包括以下内容:<br /> <br />(1)C标准函数库,基本保持了与原有C语言程序库的良好兼容,尽管有些微变化。人们总会忍不住留恋过去的美好岁月,如果你曾经是一个C程序员,对这一点一定体会颇深。或许有一点会让你觉得奇怪,那就是在C++标准库中存在两套C的函数库,一套是带有.h扩展名的(比如<stdio.h>),而另一套则没有(比如<cstdio>)。它们确实没有太大的不同。<br />(2)语言支持(language support)部分转载 2010-06-30 22:06:00 · 1366 阅读 · 0 评论 -
What's POD (C++ Language Note)
http://www.fnal.gov/docs/working-groups/fpcltf/Pkg/ISOcxx/doc/POD.html原创 2010-04-30 15:25:00 · 476 阅读 · 0 评论 -
字符串操作函数
char * __cdecl strcat ( char * dst, const char * src ) { char * cp = dst; while( *cp ) cp++; /* find end of dst */ while( *cp++ = *src++ ) ; /* Copy src to en原创 2010-04-07 20:02:00 · 681 阅读 · 0 评论 -
c++开发规范
1 C++开发编码规范1.1 文件夹命名:采用全小写,多个单词之间直接连接。由于文件夹数量相对比较少,我们使用一两个单词就可以表达清楚,所以这种命名方式足够了。名称一般要体现名词性。例如:framework、webwatch、yahoohttp、chat163、msnudpfile1.2 文件命名:建议文件名全部用小写,因为Windows不去区分大小写,多个单词用_来隔开1.3 类命名:类原创 2010-04-19 17:18:00 · 852 阅读 · 0 评论 -
C++对象内存布局
http://blog.csdn.net/haoel/archive/2008/10/15/3081328.aspx原创 2010-04-18 15:25:00 · 624 阅读 · 0 评论