![](https://img-blog.csdnimg.cn/20210601172058870.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
C/C++
IT技术学习
学习很重要
展开
-
中缀转后缀表达式(逆波兰式) 转 前缀表达式(波兰式)
笔记来源:中缀转后缀表达式(逆波兰式) 转 前缀表达式(波兰式)8分钟速成手工算法 数据结构栈_哔哩哔哩_bilibili一、笔记1.前中后缀在于符号的位置2.前缀计算步骤二、练习(中转前)注意:前移的符号,紧挨着当前数据1.加括号(逆序处理)2.前提第一个符号3.第二个符号4.以此类推三、练习(中转后)...原创 2022-04-22 18:40:23 · 357 阅读 · 0 评论 -
C/C++ 全局变量的访问
#include <iostream>using namespace std;int a = 10;int main(int argc, char **argv){ int a = 20; std::cout << "XXXX a = " << a << std::endl; std::cout << "XXXX ::a = " << ::a << std::endl; re.原创 2022-03-24 21:38:16 · 1260 阅读 · 0 评论 -
C++:round函数用法
平时刷题时经常会碰见要求四舍五入的情况,此时用round()函数最方便了正常用法:对于小数而言,round()函数仅仅保留到整数位,即仅仅对小数点后一位四舍五入,样例:round(1.5)=2.000000round(1.56)=2.000000round(-1.5)=-2.000000round(-1.56)=-2.000000保留小数用法:如果想要保留小数位数,则可以先乘后除样例:#include<stdio.h>#include<math转载 2022-01-06 19:13:29 · 4157 阅读 · 1 评论 -
C++ 随机数
注:本文的知识来自网络和个人的整理和理解。当初写这篇博客的时候,用的IDE是Dev C++。当时可以直接使用诸如rand()、srand()等函数。现在好像不行了,还是需要加上#include<cstdlib>。本文的代码已经修改了,图片没法修改,见谅。一、rand函数。int rand(void);rand()函数不需要引入任何头文件,可直接使用,返回0~RAND_MAX(32767)的整数,不需要参数,它是根据种子生成的,根据不同的种子产生不同的随机序列。这个程序无论何时转载 2022-01-06 16:40:34 · 3820 阅读 · 0 评论 -
C++笔记——流概念的理解
一、流概念的理解数据传输事,数据从一端传到另一端,可以理解为数据从一端流到另一端。流入操作符(传入数据) <<流出操作符(取出数据) >>个人理解:XXXstream 可以理解为流的管道二、输入输出案例1.输出 hello world 的案例从代码 流向 控制台 方向,是流出的流,所以是cout,将数据传入管道,使用<<。2.从控制台获取输入三、字符串与整数之间的转化需要借助sstream库中的string...原创 2021-11-09 18:14:00 · 1293 阅读 · 0 评论 -
C++标准库
1.C++标准定义了庞大且功能丰富的标准库,其内容分为10类,包括:C1语言支持 C2输入/输出 C3诊断功能C4通用工具 C5字符串 C6容器C7迭代器 C8算法 C9数值操作C10本地化2.C++标准库所有的头文件都没有扩展名(.h),内容总共...转载 2021-11-09 14:25:46 · 4489 阅读 · 0 评论 -
C++空指针和野指针
一、空指针1.空指针是指向NULL的指针,初始化使用,防止被误调用。#include <iostream>using namespace std;int main() { int * p = NULL; cout << p <<endl; return 0;}指向了0号内存地址,被系统占用了,不能被调用。#include <iostream>using namespace std;int main() {原创 2021-11-06 11:12:30 · 472 阅读 · 0 评论 -
C++头文件和std命名空间(精辟)
参考原文:C++头文件和std命名空间(精辟)下面的图是个人理解:原创 2021-11-05 16:21:54 · 678 阅读 · 1 评论 -
c++内存分区、创建变量开辟内存
一、代码区、全局区(静态区,常量区)、堆区 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程二、代码区、常量区、静态区(全局区)、堆区、栈区代码区:存放程序的代码,即CPU执行的机器指令,并且是只读的。原创 2021-11-05 13:43:09 · 1511 阅读 · 0 评论 -
64位的系统最大可以支持多大内存
理论上是这样的:32位=2^32B = 4 * 2^30B = 4GB,因此32位操作系统正好可访问4GB范围的地址。 但是实践上就有所区别:从来没见过任何32bit的XP能够访问4GB的物理内存。 理论和实际看起来矛盾,实则不然。注意“可以访问4GB范围的地址”并不代表“可以支持4GB内存”! 电脑支持多大内存取决于操作系统的位数。要看你的电脑是32位的还是64位的。32位和64位的硬件他们是互相不兼容。32位XP系统只支持3.2G物理内存,多了系统不认,64位的最多可...转载 2021-11-03 11:05:29 · 10807 阅读 · 0 评论 -
寻址空间与寻址范围
首先来看2440S5PV210的:定义的理解1寻址空间(容量)寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题,即能够寻址的最大容量。一般用MB和G来表示。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据存放在哪里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位,转载 2021-11-03 11:02:20 · 3706 阅读 · 0 评论 -
#pragma GCC system_header有什么用
看c++ std::string 的源码,发现有#pragma GCC system_header这个,不知道什么意思,去google了一下,发现意思如下,以后自己代码中还是不要用这个.从#pragma GCC system_header直到文件结束之间的代码会被编译器视为系统头文件之中的代码. 系统头文件中的代码往往不能完全遵循C标准, 所以头文件之中的警告信息往往不显示. (除非用 #warning显式指明)....转载 2021-10-09 19:44:15 · 808 阅读 · 0 评论 -
C++ 预处理器、宏、#与##
参考:C++ 预处理器 | 菜鸟教程一、预处理器预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。我们已经看到,之前所有的实例中都有#include指令。这个宏用于把头文件包含到源文件中。C++ 还支持很多预处理指令,比如 #include、#define、#if、#else、#line 等,让我们一起看看这些重要指令。二、...原创 2021-10-09 19:34:02 · 307 阅读 · 0 评论 -
Dev c++如何解决 error: ‘to_string‘ was not declared in this scope 问题
参考:Dev c++如何解决 error: 'to_string' was not declared in this scope 问题_mydekun的博客-CSDN博客原因随着C++标准的更新,有些函数和高效操作不能再Dev C++上使用。也就是说目前版本的Dev C++对C++11的新特性还不支持。解决办法在Dev C++菜单栏:“工具”–“编译选项”–“编译器”勾选“编译时加入以下命令”,并加入下面代码:-std=c++11...原创 2021-10-08 17:16:17 · 1350 阅读 · 1 评论 -
C++ 中的“>>“和“<<“
参考:C++ 中的“>>“和“<<“_Parker盘的博客-CSDN博客C++ 中的">>“和”<<"操作符作用C++中标准输入输出中所使用的">>“和”<<"是重载运算符作用,意义是流插入运算付和流提取运算符;位操作符在了解移位操作符和位操作符之前,我们需要知道一个十进制的整数是如何在计算机中存储的,以int a = 10 为例,int型占4个字节,一个字节有8位,正数十以二进制存储在这32位中,其在内存中的存储如下,为方便视原创 2021-10-08 17:12:54 · 1620 阅读 · 0 评论 -
C++中查看数据类型的方法
参考:C++中查看数据类型的方法 - klobodnf - 博客园#include <typeinfo>#include <iostream>using namespace std;int main(){ int iobj = 10; cout << typeid( iobj ).name() << endl; // 打印: int cout << typeid( 8.16 ).name() &l..原创 2021-10-08 17:04:18 · 7425 阅读 · 2 评论 -
C++关键字及其详解
C++关键字备注:图中是C++98/03中的63个关键字,红色标注的是C语言的32个关键字。C++11中有73个关键字,新增加的10个分别为:alignas、alignof、char16_t、char32_t、constexpr、decltype、noexpect、nullptr、static_assert、thread_local下面是对部分关键字的解释:一、数据类型相关1、bool、true、false bool即为布尔类型,属于基本类型中的整数类型,取值为真和假。true和fal...转载 2021-06-29 17:25:12 · 3714 阅读 · 0 评论 -
std::cout 与 cout 有什么区别
std是一个命名空间(namespace),‘::’是作用域运算符,cout是std空间中的一个函数名。使用cout时,必须有使用std命名空间的说明,有两种说明方式。方式一:每次使用时对cout说明:std::cout << "Input two numbers:";方式二:在主函数前说明一下,后面就可以直接使用cout:using namespace std;cout << "Input two numbers:";下面两段代码功能完全一样:代码一:转载 2021-06-01 20:36:58 · 1321 阅读 · 0 评论 -
C++学习笔记——对“指针”的理解
1.指针也是变量。2.int 型变量,存储 int型 数据。int * 型变量,存储 int型 数据的地址。原创 2021-06-01 19:50:53 · 116 阅读 · 0 评论 -
C++数据类型转换(整数、浮点、字符串)
一、整数与浮点数1.整数转浮点数#include <iostream>using namespace std;int main(){ int a; float b = 1.8; a = (int)b; cout << a << endl; return 0;} 输出原创 2021-06-01 19:12:43 · 5225 阅读 · 0 评论