分类目录归档:CPP

C++异常处理


例外是在执行程序期间出现的问题。例外提供了一种将控制从程序的一个部分转移到另一个部分的方法。 C ++异常处理基于三个关键字:#try,#catch和#throw。

  • # throw - 当问题出现时,程序会抛出异常。这是使用throw关键字完成的。

  • # catch - 程序在您要处理问题的程序中的位置捕获异常处理程序的异常。 catch关键字表示捕获异常。

  • #try - try块标识将激活特定异常的代码块。接下来是一个或多个catch块。

#include <iostream>
 using namespace std;

 int main()
 {
   int...

阅读全文...

C++从容器删除元素


如何从容器中删除元素是一个常见的C ++面试问题,如果您仔细阅读本页,您可以获得一些布朗尼点数。擦除 - 移除习语是一种C ++技术,用于从容器中消除满足特定标准的元素。但是,有可能用传统的手写循环来消除元素,但擦除 - 删除习语有几个优点。

实例

// Using a hand-written loop
 std::vector<int> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
 for (auto iter = v.cbegin(); iter < v.cend(); /*iter++*/)
 {
    if (is_odd(...

阅读全文...

C ++中的动态内存分配


什么是C ++中的动态内存分配?

  • C ++中的 内存分配 是指 分配 给整个程序中使用的变量的内存。
  • 动态内存分配 是在运行时 分配 给变量的内存,所需的内存量也在运行时决定。
  • 这个内存来自 ,而非_静态_变量和_局部_变量从 堆栈中 获取内存。
  • 在C ++中,程序员可以手动执行内存分配,并称为 动态内存分配
  • 在C中可以通过使用_calloc_和_malloc_函数来分配内存并使用_自由_函数来_解除_动态内存的分配来进行动态内存分配。
  • 在C ++中,除了上述之外,还有两个函数, _new_和_delete,_用于执行动态内存分配和解除分配。

新运营商

  • new运算符可以从堆...

阅读全文...

C++ do while 循环


do while loop几乎与while循环相同。 do while loop具有以下形式:

do
 {
  // do something;
 } while(expression);

注意:请记住使用分号';'在条件结束时。

有关do-while循环的详细信息

只要您确定必须至少执行一次特定进程(在循环内),就会使用do-while循环。它具有许多优点,例如不初始化检查变量(例如,char addmore ='Y')等。在结束时分号是必须的。

先做一些事情,然后测试我们是否必须继续。结果是do块至少运行一次。 (因为表达测试后来)。看一个例子:

#include <iost...

阅读全文...

C++条件运算符


条件运算符是三元运算符,它需要3个操作数。 它根据表达式的结果返回两个值中的一个 条件运算符用于替换简单的if-else语句。

句法 :

(condition)?(expression-1):(expression-2);

这里,当条件为真时评估表达式-1,当条件为假时评估表达式-2。 类似的if-else语句将是:

if(condition)
  {
    expression-1;
  }
 else
  {
    expression-2;
  }

因此,当您需要编写简单的if-else语句时,条件运算符非常方便。它也可以在#define中使用 当在多个地方使用类似条件时的...

阅读全文...

C++编译器


C++编译器简介

为了开始使用C ++,您需要了解一些编译器以及C ++如何在您的计算机上运行。

完成所有工作后,计算机只能理解一种语言,机器语言。机器语言完全由 二进制位,或0和1。虽然可以用二进制编程,但这将是非常繁琐和耗时的。 因此,我们人类开发了编程语言,以便更容易地开发软件。汇编语言是机器的直接1对1 语言。 C,C ++和COBOL等语言略高,需要编译。它甚至更高。语言 像JavaScript和Python一样,组件在编译之前会被翻译成C ++或其他低级语言, 有效地使它们成为比C或C ++更“高”的语言。 因为计算机体系结构由电子开关和电缆组成,只能使用二进制1和0, 您需...

阅读全文...

C++强制类型转换


强制转换是一种特殊操作符,它强制将一种数据类型转换为另一种数据类型

C ++中的转换与C的转换有所不同.C ++使用不同的转换函数。

static_cast

静态强制转换用于基元和类型重载之间的隐式转换。

const_cast

Const cast可用于抛弃常量。当需要改变常量值时,这很有用。这应该谨慎使用,相反,在使用const-cast的情况下,应该考虑使参数/函数为非const。

Const强制转换也可能导致未定义的行为。 const cast的唯一应用应该是从传递给函数并标记为const的值中删除const-ness。如果值是真正的const,也就是说,它在编译时被标记为cons...

阅读全文...

C++数组


什么是数组?

数组是一系列相同数据类型的元素,它们存储在连续的内存位置,可以单独引用。

例如,包含5个称为数字的整数值的数组声明如下:

int numbers [5];

Initializiation:

//Initialization with entries:
 int numbers [5] = {1, 2, 3, 4, 5};

 //Initialization with no values:
 int numbers [5] = {};

 //Initialization with declaration:
 int numbers [] = {1, 2, 3, 4, 5...

阅读全文...