首页 > 编程语言 >C++学习笔记

C++学习笔记

时间:2024-07-20 12:56:03浏览次数:18  
标签:std 函数 int 笔记 学习 原型 C++ 使用

第一章 预备知识

C++融合了三种不同的编程方式:过程性编程(C语言代表的)、面向对象编程(C语言基础上添加的类代表的)、泛型编程(C++模板支持)。

Linux上源代码文件编译完后生成后缀.o的目标代码文件,然后执行链接后生成文件名为a.out(默认取名)的可执行程序。

C++源文件名的后缀有.cpp、.cxx、.cc、.C

预处理器:在源代码被编译之前,替换或者添加文本。比如将预处理器编译指令包含的文件的内容添加到源代码文件中,或者替换宏。

C++头文件没有后缀,C头文件转换为C++后,后缀.h去掉,最前面加前缀c(表明来自C语言)。

using namespace std ,using编译指令,使用命名空间std。命名空间的作用就是对于同一个产品,可以通过名称空间的名称指出想使用哪个厂商的产品。对应到C++中就是区分开相同名称的函数、类等。

第二章 开始学习C++

C++中函数原型对于函数来讲就相当于变量声明对于变量,它是指出函数涉及的类型,如返回类型、参数类型。简答来说函数原型就是函数头,去掉参数列表中的参数名称,保留类型。

在源程序中使用函数时,需要提前提供函数原型,有两种方法实现:

  • 直接在源代码中输入函数原型
  • 包含该函数所在的头文件,其中定义了函数原型

不要混淆函数原型和函数定义,函数原型只描述了函数接口,即发送给函数的信息和函数返回的信息,也就是只有函数头部。而函数定义包含了函数体的代码。C++和C中将这两项特性(函数原型和函数定义)分开了,库文件中包含了函数定义,而头文件中包含了函数的原型。

在定义函数时,如果函数不接受任何参数,则可以在函数参数列表中写void。

没有返回值的函数,它的返回类型写成void。比如:void print() {}

main函数是程序的开始,它由操作系统调用,main函数的返回值是返回给操作系统。在这个层面也可以叫返回值为退出值,退出值为零意味着程序运行成功,非零意味着存在问题。

让程序能够访问名称空间的方法有三种:

  • using namespace std;放在函数定义前,则文件中所有的函数都能够使用名称空间std中所有的元素。这里使用其他名称空间也一样。
  • using namespace std;放在特定的函数定义中,则只有该函数能够使用名称空间std中的所有元素。
  • 如果使用using std::cout;则说明只能够使用指定的元素cout。std名称空间中的其他元素不能使用;
  • 不使用编译指令using,则在使用名称空间std中的元素时,必须加上前缀std::。

第三章 处理数据

使用sizeof运算符时,对类型名使用sizeof运算符时,应该将名称放在括号中;对变量名使用sizeof运算符时括号是可选的。

头文件climits定义了符号常来表示类型的大小限制。比如INT_MAX表示类型int能够存储的最大值。
在这里插入图片描述
在这里插入图片描述
初始化是将赋值和声明合并在一起。

// 声明了变量n_int,并将int的最大值赋值给它
int n_int = INT_MAX;

C++11的初始化方式

// 使用大括号初始化器对单个变量进行初始化,等号可用可不用
int hamburgers = {24};
int emus{7};
// 大括号内,可以不包含任何东西,此时变量将被初始化为0
int rocs = {};

确定常量的类型:
整数1429是存储为int、long还是其他类型呢?可以通过使用后缀的方式来表示类型。整数后面的l或者L表示该整数是long常量。u或者U表示unsigned int常量。大小写都可以。UL和LU都表示unsigned long类型。LL表示long long

基于字符的八进制和十六进制编码来使用转义序列。比如,Ctr + Z的ASCII码为26,对应的八进制编码为032,十六进制编码为0x1a。那么可以使用转义序列来表示该字符:\032或\x1a。也可以将这些编码用单引号括起来,可以得到相应的字符常量,如’\032’,或者在字符串中“hi\x1a there”。

标签:std,函数,int,笔记,学习,原型,C++,使用
From: https://blog.csdn.net/weixin_44851234/article/details/140248847

相关文章

  • [rCore学习笔记 016]实现应用程序
    写在前面本随笔是非常菜的菜鸡写的。如有问题请及时提出。可以联系:[email protected]:https://github.com/WindDevil(目前啥也没有设计方法了解了特权级机制,实际上如果要设计一个应用程序就需要保证它符合U模式的要求,不要去访问S模式下的功能,那么其实现要点是:应......
  • PyQt5学习路线
    后续会根据该文章的路线逐步发布对应的教程,订阅专栏不迷路......
  • FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
    ​《FFmpeg开发实战:从零基础到短视频上线》一书的“第11章 FFmpeg的桌面开发”介绍了如何在Windows环境对Qt结合FFmpeg实现桌面程序,那么Windows系统通过VisualStudio开发桌面程序也是很常见的,下面就介绍如何在VisualStudio的C++工程中集成FFmpeg库和SDL2库。首先按照《FFmpe......
  • 超详细的MySQL基本使用教程(1) 黑马程序员javaweb学习笔记+练习(附带idea新版ui图形化页
    什么是数据库MySQL概述数据模型关系型数据库SQL简介小结DDL-数据库的设计数据库的常见操作选中该语句然后点运行就成功运行了可以直接用图形化界面进行操作跳转到控制台表的常见操作1.创建练习在db01中创建这张表其中comment是鼠标悬停在......
  • PYTHON学习笔记(六、python数据结构--字典)
    (3)dict字典字典数据类型的含义是:根据一个信息查找另一个信息的方式构成了“键值对”,它表示索引用的键和对应的值构成对应的关系。1、字典的创建方式1)使用{ }直接创建字典使用{ }创建字典的语法结构如下:d={key1:value1,key2:value2......}例如:#使用{}创建字典d=......
  • 数论学习笔记
    ExGCD:目的:求形如\(Ax+By=C\)的不定方程的通解有解判断:方程有解的充要条件是\(Gcd(a,b)|C\),可以使用数论知识证明问题简化:将问题简化为求\(Ax+By=Gcd(a,b)\)的通解,先求他的一组解。思路及证明:使用递归的思想减小A和B的值,直至方程变为\(x=Gcd(x,0)\)的形式。已知:\[Gc......
  • JavaScript与DOM的奇妙探险:从入门到精通的实战笔记
    文章目录JavaScript基本说明特点两种使用方式在script中写使用script标签引入JS文件数据类型介绍特殊值运算符算数运算符赋值运算符逻辑运算符:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bbf5c150699845af837d3c45c926e941.png)条件运算符数组的定义基......
  • [深度学习]基于yolov10+streamlit目标检测演示系统设计
    YOLOv10结合Streamlit构建的目标检测系统,不仅极大地增强了实时目标识别的能力,还通过其直观的用户界面实现了对图片、视频乃至摄像头输入的无缝支持。该系统利用YOLOv10的高效检测算法,能够快速准确地识别图像中的多个对象,并标注其边界框和类别。用户无需深入了解复杂的后端处理......
  • c++零基础知识要点整理(5)
    1.位与运算符:& (位与:代表把二进制的每个数的每一位从低到高进行运算(有0必0))逻辑与:&&(有假必假)(1)位与的定义:inta=0b1001;//0b1001是二进制表示法,0b代表用二进制表示,0b1001对应十进制数为:9intb=0b0101;//对应十进制数为:5a&b=0b0001;//12.位或运算符:| (有1即1)逻辑或:||......
  • c++中static_cast的用法
    在C++中,`static_cast`是一种用于执行静态类型转换的运算符。它用于在编译时进行类型转换,包括隐式和显式类型转换,但不能用于转换具有无关类型的指针。`static_cast`可以用于以下情况:1.隐式类型转换:`static_cast`可以在不丢失信息的情况下执行隐式类型转换,例如将整数类型......