学习整理:
常量: const关键字
变量的储存类型:
1、extern 只声明不定义变量,可用于访问全局变量 如:extern int var; (前提有var这个全局变量)
2、static c++中全局静态变量不能被别的文件访问,类中跟java一样 类名.var
3、register 只能局部变量或函数的形式参数(形式参数?)
4、auto 动态存储 全局变量静态变量不能使用
数据类型:
c++中整型类型字节长跟计算机位数有关
[singned](可不写)有符号类型 Unsigned 无符合类型
网络摘抄:
C/C++仅仅定义了这些基本数据类型之间的关系,并没有定义严格定义它们的字长。在不同的平台上,根据编译器不同的实现,它们的字长如下表所示:
数据类型 |
LP64 |
ILP64 |
LLP64 |
ILP32 |
LP32 |
char |
8 |
8 |
8 |
8 |
8 |
short |
16 |
16 |
16 |
16 |
16 |
_int32 |
N/A |
32 |
N/A |
N/A |
N/A |
int |
32 |
64 |
32 |
32 |
16 |
long |
64 |
64 |
32 |
32 |
32 |
long long |
N/A |
N/A |
64 |
N/A |
N/A |
pointer |
64 |
64 |
64 |
32 |
32 |
在这张表中,LP64,ILP64,LLP64是64位平台上的字长模型,ILP32和LP32是32位平台上的字长模型。
LP64意思是long和pointer是64位,ILP64指 int,long,pointer是64位,LLP指long long和pointer是32-bit的。ILP32指int,long和pointer是32位的,LP32指long和pointer是32位的。
32位Windows采用的是ILP32数据模型,64位Windows采用的是LLP64数据模型。
所以,Windows上的32位程序设计和64位程序设计最大的不同(也就是IP32和LLP64的不同),就在于指针的长度不同??由32位变成了64位。
Win32 API在很多情况下,都需要将整数转换成指针或者相反。在 32 位的硬件上不会有问题,其中指针的大小和整数的大小是相同的,但在 64 位的硬件上却完全不一样。
为此M$搞了个所谓的“多态类型”:
对于特定的精度,您可以使用固定精度的数据类型。不管处理器的词大小如何,它们的大小都是一致的。大多数这些类型都在它们的名称中包含精度,可以从下面的表中看出:
表 1. 固定精度的数据类型 | |
类型 | 定义 |
DWORD32 |
32 位无符号整数 |
DWORD64 |
64 位无符号整数 |
INT32 |
32 位有符号整数 |
INT64 |
64 位有符号整数 |
LONG32 |
32 位有符号整数 |
LONG64 |
64 位有符号整数 |
UINT32 |
无符号 INT32 |
UINT64 |
无符号 INT64 |
ULONG32 |
无符号 LONG32 |
ULONG64 |
无符号 LONG64 |
此外,当您需要数据类型的精度随着处理器词大小变化时,请使用指针精度数据类型。这些类型又称为“多态”数据类型。这些类型通常以 _PTR 后缀结尾,如下面的表格所示:
表 2. 指针精度的数据类型 | |
类型 | 定义 |
DWORD_PTR |
指针精度的无符号长类型 |
HALF_PTR |
指针大小的一半。用于包含一个指针和两个小型字段的结构中 |
INT_PTR |
指针精度的有符号整型 |
LONG_PTR |
指针精度的有符号长类型 |
SIZE_T |
指针可以引用的最大字节数。用于必须跨指针的整个范围的计数 |
SSIZE_T |
有符号 SIZE_T |
UHALF_PTR |
无符号 HALF_PTR |
UINT_PTR |
无符号 INT_PTR |
ULONG_PTR |
无符号 LONG_PTR |
LPARAM |
与 LONG_PTR 为同义词,(在WTypes.h 中定义) |
WPARAM |
与 UINT_PTR 为同义词,(在 WTypes.h 中定义) |
通过整数参数传递参数或上下文信息的所有 Win32 API 都更改为使用这些新的类型。
此外,还出现了定长指针:POINTER_32和POINTER_64:
#define POINTER_32 __ptr32
#define POINTER_64 __ptr64
PS:M$DN中说是在Basetsd.h中定义的,但实际上是在WinNT.h中定义的。
枚举类型:
enum name{A=1,B,C,D};
void demo(name n){ if(n == A) ; }
使用:name n = A; demo(n); // 错误:name(1) 不能转为枚举类型 name(name.A)?
结构体类型:
关键字struct —— struct name{}
typedef 自定义类型 如: typedef int UU;
指针:
int* i;
int b = 10;
i = &b;
详细:http://www.cnblogs.com/ggjucheng/archive/2011/12/13/2286391.html
相关推荐
这份"**C++基础学习上机试题整理(66题)**"是为初学者设计的一系列练习,旨在帮助他们深入理解C++的基础概念,并通过实际编程来提升技能。 一、循环语句 循环语句在C++中是控制程序流程的关键部分,包括for循环、...
这份"c++源代码整理"包含了一系列与C++相关的资源,旨在帮助开发者深入理解并熟练掌握C++编程。 1. **C++必知必会.pdf**:这本书籍可能涵盖了C++的基础概念、语法、类和对象、模板、异常处理、STL(标准模板库)等...
C++中的`iostream`库是处理输入输出的基础,主要包括`cin`(输入流)和`cout`(输出流)。例如,`std::cin`用于从标准输入(通常是键盘)读取数据,而`std::cout`则用于向标准输出(通常是屏幕)打印信息。此外,...
该文档对C++基础知识进行了详细归纳整理,相信会帮朋友们温故知新的。大家都加油
### C++二级公共基础知识考点归纳整理 #### 一、数据结构与算法 ##### 1. 算法的概念、算法时间复杂度及空间复杂度的概念 - **算法的基本概念** - **算法的基本特征**:可行性、确定性、有穷性、拥有足够的情报...
在学习C++基础的过程中,有许多核心知识点是不容忽视的,以下是对给定文件内容的知识点详细阐述。 首先,C++程序的基本组成和编写步骤是每个初学者必须掌握的。C++程序编写包括创建项目、创建文件、编写代码和运行...
王桂林老师编写的《C++基础与提高》是一本系统讲解C++编程语言的书籍,其中详细介绍了C++的发展背景、应用领域以及与C语言相比扩展出的新特性。以下是根据书中内容整理出的详细知识点: 1. C++的综述:C++由Bjarne ...
一、C++基础知识 C++是C语言的扩展,它引入了类和对象的概念,实现了面向对象编程(OOP)。在C++中,你可以创建自己的数据类型,通过封装、继承和多态等特性实现代码复用和模块化设计。 二、课件内容 课件通常会...
自己整理c++基础知识.doc
本文将深入探讨这些在压缩包文件中提到的C和C++的基础知识,以及相关的学习资源。 首先,"C++大学教程 第二版"和"C++大学教程"这两本书都是针对初学者的C++教材,旨在帮助读者理解C++的基本语法、面向对象编程概念...
以下是一些关于C++基础知识的重点: 1. 成员函数的存储方式:C++中,成员函数并不占用对象的存储空间。类的多个对象共享同一份成员函数代码,这被称为静态存储。对象仅存储数据成员,不包含函数代码。例如,`Time` ...
#### 第一部分:C++基础语法概览 **1.1 第一个C++程序** 在学习任何编程语言时,编写第一个程序通常是理解该语言的基础语法的重要步骤。对于C++而言,最经典的例子是“Hello World”程序。这种简单的程序不仅帮助...
### C++基础教学 #### 标题解读: 本标题表明了这是一门关于C++基础知识的教学课程。C++是一种广泛使用的通用编程语言,适用于多种应用场景,包括系统软件、游戏引擎、浏览器等。因此,该课程旨在帮助初学者了解并...
该文档对C++基础知识做了全面详细的归纳讲解,希望大家多多浏览,打牢基础,C++路上越走越稳
C++基础知识框图,个人必备基础知识,用于复习,备考,找工作等等都有帮助,帮助萌新梳理知识点,帮助大佬温习知识点,本人费心整理的,希望大家喜欢。
C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案.docx c++笔试面试宝典.docx C++笔试面试题带答案.docx c++笔试题汇总.pdf C++经典面试题库 附带参考答案....
在本篇中,我们将深入探讨"C++桌面图标一百种玩法系列之三——【整理-时钟】"这一主题。这个项目使用C++编程语言在桌面上创建了一个动态时钟,同时还包含了开头的移动动画效果,这无疑为学习C++的开发者提供了一种...
本篇面经整理发布版涉及到C++语言的基础知识点,如指针与引用的区别、参数传递方式的选择、内存管理机制、C++与C的区别、C++中的构造与析构、以及C++与其他编程语言的对比等。下面详细阐述这些知识点。 首先,指针...
通过上述分析,我们可以看出,`C++基础错题整理(1)switch结构`可能涵盖了`switch`语句的基础使用、常见错误、错误修复以及与其他控制流语句的比较。解压文件"10221510457-邵玉亭2"可能包含了具体的题目和解答,...