分类目录归档:CPP

C++ 堆栈


stack是C ++中最常用的容器之一。容器是一种存储对象集合的数据结构,有些是有序的,有些则不是。所有容器都有一组不同的功能,允许您访问该集合中的对象。

std::stack是C ++标准库的一部分(因此前缀为std:: ,允许您以后进先出(LIFO)顺序存储数据。注意: 堆栈中的所有对象必须具有相同的数据类型

存储在堆栈中的数据类型位于stack关键字旁边的尖括号内。例如,如果要存储整数集合,则堆栈将为std::stack<int> stack_name

堆栈LIFO说明

stack允许我们按特定顺序推送和弹出。 push 意味着将对象插入堆栈顶部。 Pop 意味着从堆栈...

阅读全文...

C++ Set集合


c++中的集合数据结构的定义方式与在数学上下文中定义集合的方式相同。

更正式地说,集合是一种关联容器,其中每个元素必须是唯一的。

  • 输入元素后,无法修改元素的值,但允许删除元素并插入新元素,就像我们在mathenatics中一样。
  • 设置数据结构可用于建模,并设置自身。很容易找到交叉点,工会等。
  • 与vector类似,但只允许使用唯一值。
  • 当您将元素插入集合时,Set会按递增顺序排列元素。

使用set数据结构所需的头文件是'set'。即, #include<set>必须在您的代码中,以便您使用set数据结构。

提示 : - 使用#include<bits/stdc++.h...

阅读全文...

C++队列


queue是C ++中最常用的容器之一。容器是一种存储对象集合的数据结构,有些是有序的,有些则不是。所有容器都有一组不同的功能,允许您访问该集合中的对象。

std::queue是C ++标准库的一部分(因此前缀为std:: ,允许您以先入先出(FIFO)顺序存储数据。注意: 队列中的所有对象必须具有相同的数据类型

存储在队列中的数据类型位于queue关键字旁边的尖括号内。例如,如果要存储整数集合,则队列将为std::queue<int> queue_name

队列LIFO解释

queue允许我们按特定顺序推送/排队和弹出/出列。 推送 意味着在队列的前面插入一个对象。 Pop...

阅读全文...

C / C++中的预处理器


顾名思义,预处理器是在编译之前处理源代码的程序。在C / C ++中编写程序和执行程序之间涉及许多步骤。在我们真正开始学习预处理器之前,让我们先看看这些步骤。

您可以在上图中看到中间步骤。程序员编写的源代码存储在文件program.c中。然后由预处理器处理该文件,并生成名为program的扩展源代码文件。此扩展文件由编译器编译,生成名为program.obj的目标代码文件。最后,链接器将此目标代码文件链接到库函数的目标代码,以生成可执行文件program.exe。

预处理程序提供预处理程序指令,告诉编译器在编译之前预处理源代码。所有这些预处理程序指令都以# (哈希)符号开头。 C / C...

阅读全文...

C++重载


C++允许您为同一范围内的函数名称或运算符指定多个定义,分别称为函数重载和运算符重载。

重载声明是声明,声明与同一作用域中先前声明的声明具有相同的名称,除了两个声明具有不同的参数和明显不同的定义(实现)。

当您调用重载函数或运算符时,编译器通过将用于调用函数或运算符的参数类型与定义中指定的参数类型进行比较,确定要使用的最合适的定义。选择最合适的重载函数或运算符的过程称为重载决策。

C++中的函数重载

您可以在同一范围内对同一函数名称具有多个定义。函数的定义必须通过参数列表中的参数的类型和/或数量彼此不同。您不能重载仅由返回类型不同的函数声明。

以下是使用相同函数print()打印不同数据...

阅读全文...

C++ Map


Map介绍

map是一个关联容器,用于存储键值对中的元素。就像在Java有集合,PHP中的关联数组等。

使用Map的好处

  • 它仅存储唯一键,并且也基于其指定的排序标准按排序顺序存储。
  • 由于键是按排序顺序的,因此通过键在地图中搜索元素非常快,即它需要对数时间。
  • map ,每个键只附加一个值。
  • map可以用作关联数组。
  • 它可以使用平衡二叉树实现。

这是一个例子:

#include <iostream>
#include <map>

using namespace std;

int main (){
map<char,int> first;

//i...

阅读全文...

C++输入输出


使用Streams输入和输出

要将内容打印到控制台或从中读取内容,请使用coutcin ,即所谓的streams 。使用这个比喻是因为你使用的流就像使用接收器或水龙头一样:你要么将数据刷新到接收器( cout ),要么从tap( cin )中获取数据。

用cout输出

“Hello World”程序使用cout打印“Hello World!”到控制台:

#include<iostream>
 using namespace std;

 int main()
 {
  cout << "Hello world!" << endl;...

阅读全文...

C++ 中的内联函数


当程序执行函数调用指令时,CPU存储函数调用之后的指令的存储器地址,复制函数的参数在堆栈上,最后将控制转移到指定的函数。然后,CPU执行功能代码,将功能返回值存储在预定义的存储器位置/寄存器中,并将控制返回给调用功能。如果函数的执行时间小于从调用函数到被调用函数(被调用者)的切换时间,则这可能成为开销。对于大型和/或执行复杂任务的函数,与函数运行所花费的时间相比,函数调用的开销通常是微不足道的。但是,对于常用的小函数,进行函数调用所需的时间通常比实际执行函数代码所需的时间多得多。小功能的开销是因为小功能的执行时间小于切换时间。

C++提供了一个内联函数来减少函数调用开销。内联函数是一个在...

阅读全文...

C++ if else


If-Else声明有什么作用?

  • If-Else语句是简单If语句的扩展。
  • 在简单的If语句中,如果测试表达式的值为false,那么我们跳过块的代码并继续我们的下一个语句。
  • 但很多时候,如果test表达式的值为false,我们希望执行某些步骤。
  • 在这种情况下,我们使用if-else语句。

If-Else声明的一般形式

if (test expression)
 {
  //statements that run if the test expression is true
 }
 else
 {
  //statements that run if the test expressio...

阅读全文...

C++函数


定义

函数是一组一起执行任务的语句。每个C++程序至少有一个函数,即main()。

函数声明告诉编译器函数的名称,返回类型和参数。函数定义提供函数的实际主体。

C ++函数定义的一般形式:

return_type function_name( parameter list )
 {
   body of the function
 }

返回类型:

函数可以返回值。返回_类型是函数返回的值的数据类型。某些函数执行所需的操作而不返回值。在这种情况下,返回_类型是关键字void。

功能名称:

这是函数的实际名称。函数名称和参数列表一起构成函数签名。

参数:

参数类似于占位符。调用函数时,将值...

阅读全文...