`
250367976
  • 浏览: 26924 次
社区版块
存档分类
最新评论

c++基础整理

    博客分类:
  • c++
阅读更多

学习整理:

常量: 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++基础学习上机试题整理(66题)**"是为初学者设计的一系列练习,旨在帮助他们深入理解C++的基础概念,并通过实际编程来提升技能。 一、循环语句 循环语句在C++中是控制程序流程的关键部分,包括for循环、...

    c++源代码整理

    这份"c++源代码整理"包含了一系列与C++相关的资源,旨在帮助开发者深入理解并熟练掌握C++编程。 1. **C++必知必会.pdf**:这本书籍可能涵盖了C++的基础概念、语法、类和对象、模板、异常处理、STL(标准模板库)等...

    c++ 函数 整理的函数

    C++中的`iostream`库是处理输入输出的基础,主要包括`cin`(输入流)和`cout`(输出流)。例如,`std::cin`用于从标准输入(通常是键盘)读取数据,而`std::cout`则用于向标准输出(通常是屏幕)打印信息。此外,...

    C++基础知识归纳整理

    该文档对C++基础知识进行了详细归纳整理,相信会帮朋友们温故知新的。大家都加油

    c++二级公共基础知识考点归纳整理

    ### C++二级公共基础知识考点归纳整理 #### 一、数据结构与算法 ##### 1. 算法的概念、算法时间复杂度及空间复杂度的概念 - **算法的基本概念** - **算法的基本特征**:可行性、确定性、有穷性、拥有足够的情报...

    C++基础入门.pdf

    在学习C++基础的过程中,有许多核心知识点是不容忽视的,以下是对给定文件内容的知识点详细阐述。 首先,C++程序的基本组成和编写步骤是每个初学者必须掌握的。C++程序编写包括创建项目、创建文件、编写代码和运行...

    王桂林老师 c++基础与提高.pdf

    王桂林老师编写的《C++基础与提高》是一本系统讲解C++编程语言的书籍,其中详细介绍了C++的发展背景、应用领域以及与C语言相比扩展出的新特性。以下是根据书中内容整理出的详细知识点: 1. C++的综述:C++由Bjarne ...

    完整的C++课件以及笔记整理

    一、C++基础知识 C++是C语言的扩展,它引入了类和对象的概念,实现了面向对象编程(OOP)。在C++中,你可以创建自己的数据类型,通过封装、继承和多态等特性实现代码复用和模块化设计。 二、课件内容 课件通常会...

    自己整理c++基础知识.doc

    自己整理c++基础知识.doc

    C C++ 基础资料打包

    本文将深入探讨这些在压缩包文件中提到的C和C++的基础知识,以及相关的学习资源。 首先,"C++大学教程 第二版"和"C++大学教程"这两本书都是针对初学者的C++教材,旨在帮助读者理解C++的基本语法、面向对象编程概念...

    C++基础知识word版本自己整理的部分

    以下是一些关于C++基础知识的重点: 1. 成员函数的存储方式:C++中,成员函数并不占用对象的存储空间。类的多个对象共享同一份成员函数代码,这被称为静态存储。对象仅存储数据成员,不包含函数代码。例如,`Time` ...

    C++知识整理

    #### 第一部分:C++基础语法概览 **1.1 第一个C++程序** 在学习任何编程语言时,编写第一个程序通常是理解该语言的基础语法的重要步骤。对于C++而言,最经典的例子是“Hello World”程序。这种简单的程序不仅帮助...

    c++基础教学

    ### C++基础教学 #### 标题解读: 本标题表明了这是一门关于C++基础知识的教学课程。C++是一种广泛使用的通用编程语言,适用于多种应用场景,包括系统软件、游戏引擎、浏览器等。因此,该课程旨在帮助初学者了解并...

    C++全面基础知识归纳整理

    该文档对C++基础知识做了全面详细的归纳讲解,希望大家多多浏览,打牢基础,C++路上越走越稳

    C++ 基础.png

    C++基础知识框图,个人必备基础知识,用于复习,备考,找工作等等都有帮助,帮助萌新梳理知识点,帮助大佬温习知识点,本人费心整理的,希望大家喜欢。

    C++面试题笔试题C++ 数据结构算法笔试题资料合集.zip

    C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案.docx c++笔试面试宝典.docx C++笔试面试题带答案.docx c++笔试题汇总.pdf C++经典面试题库 附带参考答案....

    C++桌面图标一百种玩法系列之三【整理-时钟】完整

    在本篇中,我们将深入探讨"C++桌面图标一百种玩法系列之三——【整理-时钟】"这一主题。这个项目使用C++编程语言在桌面上创建了一个动态时钟,同时还包含了开头的移动动画效果,这无疑为学习C++的开发者提供了一种...

    C++面经整理发布版.pdf

    本篇面经整理发布版涉及到C++语言的基础知识点,如指针与引用的区别、参数传递方式的选择、内存管理机制、C++与C的区别、C++中的构造与析构、以及C++与其他编程语言的对比等。下面详细阐述这些知识点。 首先,指针...

    C++基础错题整理(1)switch结构

    通过上述分析,我们可以看出,`C++基础错题整理(1)switch结构`可能涵盖了`switch`语句的基础使用、常见错误、错误修复以及与其他控制流语句的比较。解压文件"10221510457-邵玉亭2"可能包含了具体的题目和解答,...

Global site tag (gtag.js) - Google Analytics