C++注重类型,强类型,严格检查类型
C类型检查不明确
//在C可以编译,在C++无法编译
//1>main.cpp(10): error C2440: “=”: 无法从“double *”转换为“int *”
//1> main.cpp(10): note: 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void main() 5 { 6 int *p1 = NULL; 7 8 double *p2 = NULL; 9 10 p1 = p2;//在C可以编译,在C++无法编译 11 12 //1>main.cpp(10) : error C2440 : “ = ” : 无法从“double *”转换为“int *” 13 // 1> main.cpp(10) : note : 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换 14 15 system("pause"); 16 }
适用于宽字符串
wchar_t
std::wcout
1 #include <iostream> 2 using namespace std; 3 4 void main() 5 { 6 char *str("china");//字符串 7 wchar_t *str1(L"china");//宽字符串 8 9 std::cout << str << std::endl; 10 std::wcout << str1 << std::endl; 11 12 system("pause"); 13 }
时间: 2024-12-14 02:54:21