找到 34423 篇文章,关于编程

如何在 C++ 中清空 cin 缓冲区?

Nitya Raut
更新于 2019-07-30 22:30:25

2K+ 次浏览

在本节中,我们将了解如何在 C++ 中清空 cin 缓冲区。在进入讨论之前,让我们先了解一下 C++ 中的缓冲区是什么。缓冲区是一个临时存储区域。所有标准 I/O 设备都使用缓冲区在工作时保存数据。在 C++ 中,流本质上也是缓冲区。当我们按下某些键时,这些键不会立即发送到程序。它们会被存储到缓冲区中。操作系统会将数据缓冲,直到程序被分配时间。有时我们需要清除不需要的缓冲区,以便在下次输入时... 阅读更多

堆溢出和栈溢出

Samual Sam
更新于 2019-07-30 22:30:25

509 次浏览

堆溢出堆用于存储动态变量。它是进程内存的一个区域。malloc()、calloc()、resize() 所有这些内置函数通常用于存储动态变量。堆溢出发生在以下情况:A) 如果我们分配了大量的动态变量 -int main() {    float *ptr = (int *)malloc(sizeof(float)*1000000.0)); }B) 如果我们连续分配内存并在使用后没有释放它。int main() {    for (int i=0; i

“就地 new”在 C++ 中有什么用途?

Vrundesha Joshi
更新于 2019-07-30 22:30:25

146 次浏览

在本节中,我们将了解 C++ 中的 placement new 运算符。此 placement new 是 new 运算符的另一种变体。普通的 new 运算符执行两件事。它分配内存,然后在分配的内存中构造一个对象。new 运算符在堆部分分配内存并在那里构造对象。但是对于 placement new 运算符,它在给定地址处构造对象。要释放内存,如果内存是使用 new 运算符分配的,我们可以使用 delete 关键字。但是对于 placement new,没有 placement delete 功能。因此,简而言之,placement new 允许您... 阅读更多

C++ 中的 placement new 运算符

Jennifer Nicholas
更新于 2019-07-30 22:30:25

1K+ 次浏览

在本节中,我们将了解 C++ 中的 placement new 运算符。此 placement new 是 new 运算符的另一种变体。普通的 new 运算符执行两件事。它分配内存,然后在分配的内存中构造一个对象。new 运算符在堆部分分配内存并在那里构造对象。但是对于 placement new 运算符,它在给定地址处构造对象。要释放内存,如果内存是使用 new 运算符分配的,我们可以使用 delete 关键字。但是对于 placement new,没有 placement delete 功能。因此,简而言之,placement new 允许您... 阅读更多

C++ 中的转换运算符

Nitya Raut
更新于 2019-07-30 22:30:25

2K+ 次浏览

在本文中,我们将了解 C++ 中的转换运算符。C++ 支持面向对象设计。因此,我们可以将一些现实世界对象的类创建为具体类型。有时我们需要将一些具体类型的对象转换为其他类型的对象或一些原始数据类型。为了进行这种转换,我们可以使用转换运算符。它像类中的运算符重载函数一样创建。在此示例中,我们正在为复数创建一个类。它有两个参数,实部和虚部。当我们将此类的对象赋值给某个双精度类型数据时,它将转换为... 阅读更多

如何在 C/C++ 中不使用 ++ 或 + 或任何其他算术运算符来添加两个数字?

Vrundesha Joshi
更新于 2019-07-30 22:30:25

236 次浏览

在本文中,我们将了解如何在不使用 +, ++, -, 或 -- 等算术运算符的情况下添加两个数字。要解决此问题,我们可以使用二进制加法器逻辑来解决。在这种情况下,我们设计了半加器和全加器。这些加法器可以添加一位二进制数。通过级联多个加法器,我们可以创建电路来添加更大的数字。在该加法器中,我们对数字执行了异或运算,然后对于进位,我们执行了与运算逻辑。这些功能在此处实现以添加两个数字。示例代码实时演示#include using namespace std; int ... 阅读更多

使用线性探测法实现哈希表的 C++ 程序

Samual Sam
更新于 2019-07-30 22:30:25

9K+ 次浏览

哈希表是一种用于存储键值对的数据结构。哈希表使用哈希函数来计算数组中的索引,元素将被插入或搜索到该索引中。线性探测是开放寻址哈希表中的一种冲突解决技术。在这种方法中,哈希表的每个单元格都存储一个键值对。如果通过将新键映射到哈希表中已被另一个键占用的单元格来发生冲突。此方法搜索表中以下最近的空闲位置并将... 阅读更多

使用滚动哈希实现的 C++ 程序

karthikeya Boyini
更新于 2019-07-30 22:30:25

1K+ 次浏览

滚动哈希是在一个窗口中对输入进行哈希处理的哈希函数,该窗口在输入中移动。Rabin-Karp 是滚动哈希的流行应用。Rabin 和 Karp 提出的滚动哈希函数计算一个整数值。对于字符串,整数值是字符串的数字值。Rabin-Karp 字符串搜索算法通常使用一个非常简单的滚动哈希函数来解释,该函数仅使用乘法和加法 -H=c1ak-1+c2ak-2+….+ cka0。其中,a 是一个常数,c1、c2….ck 是输入字符。为了操作 H 的巨大值,执行模 n。算法开始    声明一个常数... 阅读更多

使用双重哈希实现哈希表的 C++ 程序

Samual Sam
更新于 2019-07-30 22:30:25

3K+ 次浏览

哈希表是一种用于存储键值对的数据结构。哈希表使用哈希函数来计算数组中的索引,元素将被插入或搜索到该索引中。双重哈希是开放寻址哈希表中的一种冲突解决技术。双重哈希利用使用第二个哈希函数来键入发生冲突时的想法。这是一个使用双重哈希实现哈希表链接的 C++ 程序。算法搜索键:开始    声明函数 SearchKey(int k, HashTable *ht)       int hashVal= HashFunc1(k, ht->s)       int stepSize= HashFunc2(k, ... 阅读更多

使用单链表实现哈希表链接的 C++ 程序

karthikeya Boyini
更新于 2019-07-30 22:30:25

4K+ 次浏览

哈希表是一种用于存储键值对的数据结构。哈希表使用哈希函数来计算数组中的索引,元素将被插入或搜索到该索引中。这是一个使用单链表实现哈希表链接的 C++ 程序。算法插入:开始    声明函数 Insert(int k, int v)       int hash_v = HashFunc(k)       HashTableEntry* p = NULL       HashTableEntry* en = ht[hash_v]       while (en!= NULL)          p = en          en= en->n     ... 阅读更多

广告

© . All rights reserved.