随笔分类 - C++
摘要:一、在字符串前加一个L作用: 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。 strlen("asd") = 3; strlen(L"asd") = 6; 二、_T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式 如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时 _T("ABCD") 相当于 L"ABCD" ,这是宽字符串。 如果没有定义,那么_
阅读全文
摘要:C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。 然而C++的指针却常常给我一种束手束脚的感觉。C++比C语言有更严格的静态类型,更加强调类型安全,强调编译时检查。因此,对于C语言中最容易错用的指针,更是不能放过:C++的指针被分成数据指针,数据成员指针,函数指针,成员函数指针,而且不能随便相互转换。而且这些指针的声明格式都不一样:数据指针T*成员数据指针T::*函数指针R(*)(...)成员函数指针R (T::*)(...)还有.
阅读全文
摘要:指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(struct xxx *);指向任意地址,用无类型指针(void*)。 有时候,我们需要一些通用的指针。在C语言当中,(void*) 可以代表一切;但是在C++中,我们还有一些比较特殊的指针,无法用(void*)来表示。事实上,在C++中,想找到一个通用的指针,特别是通用的函数指针简直是一个“不可能任务”。 C++是一种静态类型的语言,类型安全在C++中举...
阅读全文
摘要:原文链接:C++中的常量常量是一种标识符,它的值在运行期间恒定不变。C语言用#define来定义常量(称为宏常量)。C++语言除了 #define外还可以用const来定义常量(称为const常量)。5.1为什么需要常量如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦?(1)程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表示什么。(2)在程序的很多地方输入同样的数字或字符串,难保不发生书写错误。(3)如果要修改数字或字符串,则会在很多地方改动,既麻烦又容易出错。【规则5-1-1】尽量使用含义直观的常量来表示那些将在程序中多次出
阅读全文
摘要:1、乘法运算符2、定义指针int *p = 0; 还是 int* p = 0;?后一种比较容易这样理解:定义了一个变量p,它是指针型的(更详细一点,是指向int的指针型),相比而言,前面一种定义似乎是定义了*P这个奇怪的东西。但是后面一种写法会带来一个容易产生的误解:int* p1, p2;这儿给人的感觉似乎是定义了两个指针型变量p1和p2,但是,事实上,这种直觉是错误的,正确的理解方式是int *p1, p2;即p1是指针型的,而p2确是整型的。在MS VC++ 6.0中,是按照后面一种格式写的。3、何谓指针?指针仅仅表示一个内存中的某个地址?非也,注意到,我们在定义指针的时候,都关联了一个
阅读全文
摘要:孙鑫老师VC++深入详解第一节课源代码(这样写更好理解)// test.cpp : 定义应用程序的入口点。 //#include "stdafx.h" #include "test.h" #include <windows.h> #include <stdio.h>LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam); int WINAPI WinMain( HINSTANCE hInstance,HINSTANCE hPrevIn
阅读全文
摘要:typedef unsigned short WORD; 16位短整数,可以表示0-65535之间的整数 而char是8位。 int和机器类型有关。如16位机,就表示16位。32位机就表示32位 基本概念: 位(Bit):“位”或“比特”,是计算机运算的基础; 字节(Byte):“字节”是通过网络传输信息(或在硬盘或内存中存储信息)的单位。 字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。 在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。 符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号...
阅读全文
摘要:C++操作符的优先级C++操作符的优先级操作符及其结合性 功能 用法 LLL::::::全局作用域类作用域名字空间作用域::nameclass::namenamespace::nameLLLLL.->[]()()成员选择成员选择下标函数调用类型构造object.memberpointer->membervariable[expr]name(expr_list)type(expr_list)RRRRR++--typeidtypeid显示强制类型转换后自增操作后自减操作类型ID运行时类型ID类型转换lvalue++lvalue--typeid(type)typeid(expr)cast
阅读全文

浙公网安备 33010602011771号