找到关于编程的34423 篇文章

C++中不能重载的操作符

Arjun Thakur
更新于 2019年7月30日 22:30:25

11K+ 次浏览

在 C++ 中,我们可以重载一些运算符,例如 +、-、[]、-> 等。但是我们不能重载所有运算符。有些运算符不能被重载。这些运算符如下:“.” 成员访问运算符或点运算符?“?:” 三元运算符或条件运算符?"::" 作用域解析运算符?".*" 指向成员的指针运算符?"sizeof" 对象大小运算符?"typeid" 对象类型运算符 这些运算符不能被重载,因为如果我们重载它们,将会导致严重的编程问题。例如,sizeof 运算符返回对象或数据类型的尺寸作为操作数。这是由... 阅读更多

C++ 中的复制构造函数与赋值运算符

Ankith Reddy
更新于 2019年7月30日 22:30:25

3K+ 次浏览

复制构造函数和赋值运算符用于将一个对象初始化为另一个对象。它们的主要区别在于,复制构造函数为新对象创建了一个单独的内存块。但是赋值运算符不会创建新的内存空间。它使用引用变量指向之前的内存块。复制构造函数 (语法)classname (const classname &obj) { // 构造函数体 }赋值运算符 (语法)classname Ob1, Ob2; Ob2 = Ob1;让我们看看复制构造函数和赋值运算符之间的详细区别。复制构造函数赋值运算符复制构造函数基本上是一个重载的构造函数赋值运算符基本上... 阅读更多

C++ 中的类型转换运算符

George John
更新于 2019年7月30日 22:30:25

451 次浏览

强制类型转换是一种特殊的运算符,它强制将一种数据类型转换为另一种数据类型。作为一种运算符,强制类型转换是单目运算符,其优先级与任何其他单目运算符相同。大多数 C++ 编译器支持的最通用强制类型转换如下所示(type) expression其中 type 是所需的数据类型。C++ 还支持其他强制类型转换运算符,如下所示 -? const_cast (expr) const_cast 运算符用于显式覆盖强制类型转换中的 const 和/或 volatile。目标类型必须与源类型相同,只是其 const... 阅读更多

C++ 中“new 运算符”和“operator new”的区别?

Chandu yadav
更新于 2019年7月30日 22:30:25

1K+ 次浏览

在 C++ 中,当我们想要创建一个新对象时,必须在内存中创建一个内存块,然后调用构造函数来初始化内存块。我们可以使用 new 关键字来创建内存元素。这个 new 运算符执行两个连续的任务。但是 operator new 只创建内存空间。new 关键字new 运算符是一种特殊类型的运算符,它表示对堆部分进行内存分配的请求。只有在有足够的可用内存时,new 运算符才会将内存初始化到指针变量。当我们使用普通的... 阅读更多

C++ 中的箭头运算符 `->` 是什么?

Arjun Thakur
更新于 2019年7月30日 22:30:25

431 次浏览

点运算符和箭头运算符都用于在 C++ 中访问类或结构的成员。它们只是在不同的场景中使用。在 C++ 中,声明为类、结构体或联合的类型被认为是“类类型”。因此,以下内容指的是所有这三种类型。a.b 仅在 b 是对象 (或对对象的引用) a 的成员时才使用。因此,对于 a.b,a 将始终是类的实际对象 (或对对象的引用)。a->b 本质上是 (*a).b 的简写,即,如果 a 是指向... 阅读更多

C++ 中赋值运算符和复制构造函数的区别是什么?

Ankith Reddy
更新于 2019年7月30日 22:30:25

607 次浏览

复制构造函数和赋值运算符用于将一个对象初始化为另一个对象。它们的主要区别在于,复制构造函数为新对象创建了一个单独的内存块。但是赋值运算符不会创建新的内存空间。它使用引用变量指向之前的内存块。复制构造函数 (语法)classname (const classname &obj) { // 构造函数体 }赋值运算符 (语法)classname Ob1, Ob2; Ob2 = Ob1;让我们看看复制构造函数和赋值运算符之间的详细区别。复制构造函数赋值运算符复制构造函数基本上是一个重载的构造函数赋值运算符基本上... 阅读更多

C、C++、Java 和 C# 中的前缀和后缀递增运算符行为

George John
更新于 2019年7月30日 22:30:25

3K+ 次浏览

前缀递增和后缀递增运算符都用作递增运算。前缀递增运算符用于在表达式中使用某个变量的值之前递增其值。在前缀递增中,值首先递增,然后在表达式中使用。如果表达式为 a = ++b; 并且 b 最初持有 5,则 a 将持有 6。因为先将 b 增加 1,然后用它设置 a 的值。示例代码#include using namespace std; main () { int a, b = 15; a = ++b; cout

如何在 C/C++ 中使用条件运算符?

Chandu yadav
更新于 2019年7月30日 22:30:25

242 次浏览

此条件运算符也称为三元运算符。此运算符有三个阶段。Exp1 ? Exp2 : Exp3;其中 Exp1、Exp2 和 Exp3 是表达式。注意冒号的使用和放置。a ? 表达式的值如下确定:评估 Exp1。如果为真,则评估 Exp2 并将其成为整个 ? 表达式的值。如果 Exp1 为假,则评估 Exp3,其值成为表达式的值。? 称为三元运算符,因为它需要三个操作数,并且可以用来替换 if-else 语句,这些语句... 阅读更多

C++ 程序查找图矩阵的转置

Arjun Thakur
更新于 2019年7月30日 22:30:25

285 次浏览

在这个程序中,我们取一个矩阵并打印矩阵的转置。在转置矩阵中,行变成列,反之亦然。算法开始获取矩阵的行数和列数。获取矩阵的元素并存储在矩阵“A”中。通过交换行和列以及列和行来找到转置矩阵。打印原始矩阵和转置矩阵。结束。示例代码#include using namespace std; int main () {    int A[10][10], a, b, i, j;    cout > a>> b;    cout > A[i][j];       cout

使用二维数组表示图的 C++ 程序

Ankith Reddy
更新于 2019年7月30日 22:30:25

1K+ 次浏览

这是一个用二维数组表示图的 C++ 程序。此算法的时间复杂度为 O(v*v)。算法开始获取顶点数“v”和边数“e”的输入。为 graph[][] 矩阵分配内存。在给定图中获取“e”对顶点的输入到 graph[][] 中。对于每对连接的顶点 (v1, v2),在 graph[][] 中索引 (v1, v2) 和 (v2, v1) 处存储 1。使用 PrintMatrix() 打印矩阵。结束示例代码#include #include using namespace std; void PrintMatrix(int **matrix, int n) {    int i, j;       cout

广告
© . All rights reserved.