[Linux]C++学习笔记(一)

[Linux]C++学习笔记(一)

一门编程语言,如果你连它存在哪些数据类型都不了解,还谈什么使用语言来编程呢。经过整理,我把C++相关的数据类型,及其对应的基本修饰符,都列举出来。

第一部分:数据类型

1、基本类型

基本类型如下所示:


类型标识符       类型说明  长度(字节)         范围                      备注

char                   字符型    1 -128 ~ 127        -27 ~ (27 -1) 
unsigned char   无符字符型 1 0 ~ 255          0 ~ (28 -1)     
short int             短整型    2 -32768 ~ 32767 2-15 ~ (215 - 1) 
unsigned short int 无符短整型 2 0 ~ 65535 0 ~ (216 - 1) 
int                       整型        4 -2147483648 ~ 2147483647 -231 ~ (231 - 1) 
unsigned int     无符整型  4 0 ~ 4294967295 0 ~ (232-1) 
float                  实型(单精度) 4 1.18*10-38 ~ 3.40*1038        7位有效位 
double              实型(双精度) 8 2.23*10-308 ~ 1.79*10308  15位有效位 
long double     实型(长双精度) 10 3.37*10-4932 ~ 1.18*104932 19位有效位


2、布尔类型

布尔类型使用关键字bool来声明布尔变量,它的取值为true和false。


3、枚举类型

枚举类型定义了一组整型常量(const int),例如:

1 #include <iostream>
2 using namespace std;
3
4 int main() {
5     enum {
6         FIRST = 1,
7         SECOND,
8         THIRD,
9         FOURTH,
10         FIFTH,
11         SIXTH
12     };
13     cout<<FIFTH<<endl;
14     return 0;
15 }

编译运行,输出5。


4、字符串类型

C++中具有两种定义字符串的风格,一个是来自C语言的char*指针类型,一个是C++的STL中的string类型。


5、指针类型

指针类型可以在任何非指针类型的基础上,得到对应类型的指针类型,其实指针就是一个内存的地址,表示一个内存地址单元的数字。


6、数组类型

对任何一种类型,都对应着该类型的数组类型,在函数的返回值是数组的时候,记得要返回数组的指针,也就是数组中第一个元素的内存地址。


8、引用类型

引用类型是C++中特有的一种数据类型,它可以是某个对象的别名,通过这个别名就能够引用到对象,从而间接地操作这个对象。

在定义引用类型的时候,必须知道所要引用的对象的类型和该对象确实真实地存在,这样我们才能够去引用它从而操作它。

引用类型,可以是任意类型加上取地址符号&,就构成了引用类型,例如定义一个引用类型变量:

1 #include <iostream>
2
3 using namespace std;
4
5 int main() {
6     float price = 12.56;
7     float &priceRef = price;
8     cout<<priceRef<<endl;
9     priceRef = 100.34;
10     cout<<priceRef<<endl;
11     return 0;
12 }

此时,引用类型变量priceRef 获取了price的引用,可以直接通过操作priceRef来操作price这个变量。



第二部分:关键字

C++保留的关键字如下表所示:

asm

auto

bad_cast

bad_typeid

bool

break

case

catch

char

class

const

const_cast

continue

default

delete

do

double

dynamic_cast

else

enum

except

explicit

extern

false

finally

float

for

friend

goto

if

inline

int

long

mutable

namespace

new

operator

private

protected

public

register

reinterpret_cast

return

short

signed

sizeof

static

static_cast

struct

switch

template

this

throw

true

try

type_info

typedef

typeid

typename

union

unsigned

using

virtual

void

volatile

while


简单介绍几个:

1、const修饰符

const是常量修饰符,可以修饰任何基本类型,表示该类型的常量,在计算过程中常量的值是不可以改变的。

2、volatile修饰符

volatile修饰符也可以修饰任何基本类型,通常是为了告诉所使用的编译器,可能在编译器控制或者监测环境之外发生改变. for example, the hardware may change this variable.

3、typedef关键字

用于重新定义一个类型的,通常将已经存在的类型重新定义为具有含义的类型标识符。

4、template关键字

C++定义模板的时候,使用template关键来定义。

5、using与namespace关键字

定义或者声明命名空间的时候使用using namespace关键字。

6、inline关键字

在生命内联函数的时候使用inline关键字。inline 内联函数给出了一种解决方案:若一个函数被指定为inline 函数则它将在程序中每个调用点上被内联地展开。inline 机制用来优化小的只有几行的经常被调用的函数。

7、new与delete关键字

在堆上创建对象,也就是与整个应用程序的声明周期相同,除非显式地使用delete关键字释放堆上分配的内存,而且必须显式地使用delete来回收,否则会造成内存泄露。create on heap

8、operator关键字

操作符重载,使用operator关键字来重载定义。assignment operation

9、typename关键字

typename是用来定义泛型,声明模板的类型的。


第三部分:Linux下编译运行

最起码应该知道,在Linux系统下如何运行C++程序吧。

在Linux下我使用vim编辑器,例如,要在test.cpp文件中输入C++源代码,可以直接使用vim编辑器:

vim test.cpp

然后输入C++源代码。

保存以后进行编译:

g++ -Wall -o test test.c

生成了可执行文件test,然后运行可执行程序test:

./test

就按照你的意图执行test.c中代码所实现的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值