C++语法
jackyxwr
这个作者很懒,什么都没留下…
展开
-
C++ I/O流用法
库自动定义了一些标准对象:cout, ostream类的一个对象,可以将数据显示在标准输出设备上. cerr, ostream类的另一个对象,它无缓冲地向标准错误输出设备输出数据. clog, 类似cerr,但是它使用缓冲输出. cin, istream类的一个对象,它用于从标准输入设备读取数据. 库允许编程人员利用ifstream和ofstream类进行文件输入和输出. 一些C++ I/O原创 2009-11-25 13:50:00 · 4581 阅读 · 1 评论 -
函数名前加static与不加static的区别
近段时间,在做一个项目时,发现函数名前都加上static,才想到如果不加static有什么作用呢?它们之间的区别是什么,查找了一个资料,对它们的区别列举如下:1:加了static后表示该函数失去了全局可见性,只在该函数所在的文件作用域内可见2:当函数声明为static以后,编译器在该目标编译单元内只含有该函数的入口地址,没有函数名,其它编译单元便不能通过该函数名来调用该函数,这也是原创 2010-01-27 14:38:00 · 23104 阅读 · 1 评论 -
static_cast、dynamic_cast、reinterpret_cast和const_cast的区别与比较
static_cast、dynamic_cast、reinterpret_cast和const_cast的区别与比较C++ 2007-07-20 15:42 阅读8 评论0 字号: 大大 中中 小小 关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使转载 2010-02-03 15:54:00 · 1827 阅读 · 1 评论 -
template和template
template与class两个关键字的含义,在不同场合稍有不同。class我就不说了, template的含义有两个: 1)typename var_name;表示var_name的定义还没有给出,这个语句通常出现在模版的定义内,例如: template void f() { typedef typename T:原创 2010-03-31 09:54:00 · 1223 阅读 · 0 评论 -
关于字节的认识
定义一个2个字节的数组,MB16 a[10],现在想对这个数组赋值,其赋值要求是元素a[n]的前个字节被赋于0xFF,而后个字节不赋于,要如何写呢?初始时,a[0]的值为0a[n] |= 0xFF00//会将高字节写成0xFF,并不改变低字节的内容如果要求后面那个字节是0的话:a[n] = 0xFF00;如果要将保持高字节不充,低字节改成0xFF呢?方法一样的:a[n] |= 0x00FF;原创 2010-04-20 17:30:00 · 580 阅读 · 0 评论 -
数组指针、数组首地址与内存的关系
在下面的定义了一个结构体typedef unshort MB16typedef MB16 MDID;typedef MDID MDIDI[2];void test(MDIDI* mdid){ printf("%d,%d/n",mdid[0],mdid[1]);}void main(){ MDIDI m_mdidi; m_mdidi[0]原创 2010-04-29 14:40:00 · 1598 阅读 · 0 评论 -
指针数组的初始化
<br /> 对于指针数组的初始化,一直都不是很理解,现把整理如下<br />typedef struct {<br /> int dum;<br /> int ent;<br />} MUENST;<br />void test17(MUENST** x_pUenst)<br />{<br /> int i,j;<br /><br /> for (i = 0; i < 8; i++)<br /> {<br /> x_pUenst[i] =原创 2010-12-09 10:10:00 · 2732 阅读 · 0 评论