c++编程学习注意点 2011-3-31
2011-03-31 21:37 Clingingboy 阅读(513) 评论(0) 编辑 收藏 举报
一.Win32数据类型
Win32的api对c/c++的基本数据类型重新进行了命名,本来是好事,但实在是太多了.不过多熟悉就知道了
MSDN参考:http://msdn.microsoft.com/en-us/library/aa383751(v=vs.85).aspx
参考文章:http://www.cnblogs.com/beyond-code/archive/2009/03/24/1420138.html
编码参考
#include "stdafx.h"
#include <string>
#include <iostream>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
using namespace std;
//BOOL
BOOL result;
PBOOL pbool=&result;
result=TRUE;
result=FALSE;
if(result)
result=0;
else
result=1;
if(result)
result=0;
else
result=1;
//END BOOL
//BYTE
BYTE byteDemo=255;
PBYTE pbyte=&byteDemo;
//same as BYTE
BOOLEAN boolDemo=1;
PBOOLEAN pboolean=&boolDemo;
UCHAR ucharDemo=255;
//CHAR
CHAR charDemo='a';
CHAR charArr[]="hello";
//Point To CHAR
LPSTR pchar=&charDemo;
//WCHAR
WCHAR wcharDemo1='O';
WCHAR wcharDemo2[]=L"我a";
//Point To WCHAR
LPWSTR pwchar=&wcharDemo1;
LPTSTR generalChar=&wcharDemo1;
LPVOID pvoid=&wcharDemo1;
//CONST
CONST int number1=1;
//INT
INT number3=100;
LPINT pint=&number3;
UINT number4=100;
PUINT puint=&number4;
//error LPUINT pint=&number3;
//DWORD unsigned long
DWORD number2=200;
LPDWORD pdword=&number2;
//WORD
WORD number7=200;
LPWORD pword=&number7;
//LONG
LONG number5=100;
PLONG plong=&number5;
//SHORT
SHORT number6=100;
return 0;
}
二.字符串
参考:
http://www.vckbase.com/document/viewdoc/?id=1082
http://www.codeproject.com/KB/string/cppstringguide1.aspx
http://www.codeproject.com/KB/string/cppstringguide2.aspx
http://www.cnblogs.com/beyond-code/archive/2009/03/24/1420103.html
char为8为ANSI,wchar_t为16位Unicode
char char1='a';
char chararr[]="hello";
wchar_t wchar1=L'好';
wchar_t wchar[]=L"你好";
加L表示为Unicode编码,Win32定义为CHAR和WCHAR.
使用TEXT宏能使用CHAR和WCHAR(系统自动判别)
TCHAR c=TEXT('A');
TCHAR cc[]=TEXT("Asss");
TEXT宏与_T类型,如_T("Asss");
三.数据类型转换总结
参考:
http://www.shenmiguo.com/archives/2009/275_cplus-type-cast.html
代码说明了应用了
四.Rectangle Functions
部分Win32API,实现对RECT进行操作
Test
RECT rcClient1={};
RECT rcClient2={};
OffsetRect(&rcClient1,22,0);
IsRectEmpty(&rcClient1);
EqualRect(&rcClient1,&rcClient2);
五.__uuidof
是c++的一个关键字,取GUID用的.
参考:http://www.cppblog.com/woaidongmao/archive/2008/11/09/66391.html
这样就可以直接认类和接口,而不用去找GUID的常量了
六.结构体初始化,按顺序
这个属于基础的,只是我不知道而已
struct point {
int x;
int y;
} spot = { 20, 40 };
point p1={0,0};
point p2={0};
用花括号按顺序初始化值,如果初值表未满则为初始值.
point p3={};不同于point p3;,point p3={};会进行数据初始化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2010-03-31 中序线索二叉树算法
2007-03-31 asp.net控件设计时支持(1)