译注:翻译本文的目的仅仅是供平时学习所用,文章版权归原作者所有;本文可以被用作一切非商用目的,但请注明出处;如果将本文用作商用目的,一切后果使用者自负,与本人无关。
一、移植C程序到C++程序
1.1 字符常量
【笔记】
在C语言中,字符常量的类型为int类型,但在C++语言中,字符常量的类型为char类型。
【范例】
i = sizeof('a');
在C语言中,i的值将被赋予sizeof(int)的结果(通常情况下是一个大于1的值),但在C++语言中,i将被赋予sizeof(char),也就是将1赋值给i.
【准则】
在将C语言移植到C++程序时,请重写那些依赖字符常量的大小的表达式,避免得到错误的结果。
【代码示例】
C语言:
/*Cdemo.c*/ #include <stdio.h> #include <stdlib.h>
void checkCharSize() { int size = sizeof('a'); size = printf("size = %d\n", size); return ; }
int main() { checkCharSize(); return 0; }
|
运行结果:
C++语言:
/*CPlusDemo.cpp*/ #include <iostream>
using namespace std;
void checkCharSize() { int size = sizeof('a'); cout<<"size = "<
return ; }
int main() { checkCharSize(); return 0; }
|
运行结果:
阅读(1402) | 评论(0) | 转发(0) |