C++中要注意的一些概念

原创 2006年05月30日 17:12:00

 

1.void 类型
a.在C++中,函数参数为void的意思是这个函数不接受任何参数。

b.小心使用void指针类型

按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作,即下列操作都是不合法的:
void * pvoid;
pvoid++; //ANSI:错误
pvoid += 1; //ANSI:错误

c.如果函数的参数可以是任意类型指针,那么应声明其参数为void *

d.void不能代表一个真实的变量

  下面代码都企图让void代表一个真实的变量,因此都是错误的代码:
void a; //错误
function(void a); //错误

2.类型定义

不要使用 C/C++ 中那些在 64 位系统上会改变大小的数据类型来编写应用程序,而是使用一些类型定义或宏来显式地说明变量中所包含的数据的大小和类型。有些定义可以使代码的可移植性更好。

ptrdiff_t:
这是一个有符号整型,是两个指针相减后的结果。


size_t:
这是一个无符号整型,是执行 sizeof 操作的结果。这在向一些函数(例如 malloc (3))传递参数时使用,也可以从一些函数(比如 fred (2))中返回。


int32_t、uint32_t 等:
定义具有预定义宽度的整型。


intptr_t 和 uintptr_t:
定义整型类型,任何有效指针都可以转换成这个类型。

3.__cdecl和__stdcall

__cdecl----参数从右向左入栈,调用者清除栈
__stdcall----参数从右向左入栈,被调用者清除栈


函数func(int a,int b)
__cdecl函数被编译成:_func
__stdcall函数被编译成:_func@8 (8 为参数的字节数)

cublas中执行矩阵乘法运算的函数 首先要注意的是cublas使用的是以列为主的存储方式,和c/c++中的以行为主的方式是不一样的。处理方法可参考下面的注释代码

cublas中执行矩阵乘法运算的函数 首先要注意的是cublas使用的是以列为主的存储方式,和c/c++中的以行为主的方式是不一样的。处理方法可参考下面的注释代码 cublas中执行矩...

从C到C++要注意的33件事(3)

25 类的变量也可以是常量,就像静态变量一样 using namespace std; #include class vector { public: double x; doub...

从C到C++要注意的33件事(2)

20 如果你不想用inline来声明一个方法,或者你指向在类的定义里面包含最少的内容(或者你想用.hpp和.cpp来隔离源代码和声明),那么你只需要在类定义里面声明一下方法,然后在该类下面实现它就可以...

必须要注意的 C++ 动态内存资源管理(二)——指针对象简单实现

四.拷贝类型的资源         上节我们说过,对于图片类型的资源我们有时候往往采用拷贝(如果对于那种公共图片,可能采用唯一副本,提供地址使用)。这样情况,我们就需要在拷贝构造函数,以及拷贝赋值函数...

C++中多态要注意的事情&与Java的对比

注:下面是我自己最近看书的总结,应该有错误 在C++中,如果子类与父类的函数名相同,那么子类将覆盖父类中同名的函数,也就是说,在继承关系中,方法签名只由方法名决定。若想实现多态效果,那么只能...
  • jubincn
  • jubincn
  • 2012年02月29日 10:06
  • 684

一个实例介绍C++复制控制(有一个C++11新特性要注意)——复制构造函数、赋值操作符、析构函数

复制构造函数

必须要注意的 C++ 动态内存资源管理(一)——视资源为对象

一.前言         所谓资源就是,一旦你用了它,将来必须还给系统。如果不这样,糟糕的事情就会发生。C++ 程序中最常见使用的资源就是动态分配内存(如果你分配了内存却忘记归还它,就会导致内存泄漏)...

c/c++ 处理字符串时要注意的问题

c/c++ 处理字符串时要注意的问题。 最近在写一个文件操作的时候,出现了一点儿问题。虽不是大问题,但是不注意的话会产生错误。 写了一个块读取的方法。 从inf 流中,最多读取num个字...

学C++时要注意的。绝对经典!!

学C++时要注意的。绝对经典!!1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Program...

学好C++必须要注意的十八个问题

学好C++必须要注意的十八个问题 转自  http://blog.chinaunix.net/uid-7396260-id-2056691.html 一、#include “fil...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++中要注意的一些概念
举报原因:
原因补充:

(最多只允许输入30个字)