找到 7345 篇文章 关于 C++

C/C++ 中 const int*、const int * const 和 int const * 的区别?

George John
更新于 2020年2月11日 11:04:26

4K+ 次浏览

以上符号的含义如下:int* - 指向 int 的指针。这很明显。int const * - 指向 const int 的指针。int * const - 指向 int 的常量指针。int const * const - 指向 const int 的常量指针。还要注意:const int * 和 int const * 相同。const int * const 和 int const * const 相同。如果您在阅读此类符号时感到困惑,请记住螺旋规则:从变量名开始,顺时针移动到下一个指针或类型。重复此操作直到表达式结束。

如何在 C++ 中分词字符串?

Ramu Prasad
更新于 2020年2月11日 11:03:12

265 次浏览

第一种方法是使用 stringstream 读取以空格分隔的单词。这有点局限性,但如果您提供适当的检查,则可以很好地完成任务。示例#include <sstream>#include <string>#include <vector> using namespace std; int main() { string str("Hello from the dark side"); string tmp; // 一个字符串,用于在每次迭代中存储单词。 stringstream str_strm(str); vector<string> words; // 创建一个向量来保存我们的单词 while (str_strm >> tmp) { // 在此处为 tmp 提供适当的检查,例如是否为空 // ... 阅读更多

如何在 C++ 中读取和解析 CSV 文件?

Nitya Raut
更新于 2020年2月11日 10:54:53

3K+ 次浏览

您确实应该使用库来解析 C++ 中的 CSV 文件,因为如果您自己读取文件,可能会错过很多情况。C++ 的 boost 库提供了一组非常好的工具来读取 CSV 文件。例如,示例#include <vector> vector<string> parseCSVLine(string line){ using namespace boost; std::vector<string> vec; // 将输入字符串标记化 tokenizer<escaped_list_separator<char> > tk(line, escaped_list_separator('\', ',', '\"')); for (auto i = tk.begin(); i!=tk.end(); ++i) vec.push_back(*i); return vec; } int main() { std::string line = "hello, from, ... 阅读更多

如何在 C/C++ 中设置、清除和切换位?

Chandu yadav
更新于 2020年2月11日 10:52:13

8K+ 次浏览

您可以使用 C、C++、Python 和所有其他支持这些操作的编程语言中的按位运算符来设置、清除和切换位。您还需要使用位移运算符将位移到正确的位置。设置位要设置位,我们需要使用按位 OR 运算符 - 示例#include <iostream> using namespace std; int main() { int i = 0, n; // 输入要设置的位: cin >> n; i |= (1 << n); i ^= (1

如何在 C++ 中比较浮点数和双精度数?

Sravani S
更新于 2020年6月24日 05:41:44

632 次浏览

比较浮点数和双精度数变量取决于您的最终目标。如果您想要一个可运行的函数,而无需过于详细地说明,并且在一些不精确的计算中不会有问题,您可以使用以下函数 - 示例#include <cmath> using namespace std; // 定义您可以容忍的误差 #define EPSILON 0.000001 bool areSame(double a, double b) { return fabs(a - b) < EPSILON; } int main() { double a = 1.005; double b = 1.006; cout

如何使用 C++ 指针从不同的函数访问局部变量?

George John
更新于 2020年6月24日 05:42:36

1K+ 次浏览

一旦局部变量超出其作用域,您就无法访问它。这就是局部变量的含义。但是,让我们来看一个您可能能够在其作用域之外访问局部变量内存的示例。示例#include <iostream> int* foo() { int x = 3; return &x; } int main() { int* address = foo(); cout

解释 C++ 单例设计模式。

Jennifer Nicholas
更新于 2020年6月24日 05:42:05

16K+ 次浏览

单例设计模式是一种软件设计原则,用于将类的实例化限制为一个对象。当需要一个对象来协调整个系统的操作时,这很有用。例如,如果您使用的是将日志写入文件的记录器,则可以使用单例类来创建此类记录器。您可以使用以下代码创建一个单例类 - 示例#include <iostream> using namespace std; class Singleton { static Singleton *instance; int data; // 私有构造函数,因此无法创建对象。 ... 阅读更多

何时在 C++ 中使用 static_cast、dynamic_cast、const_cast 和 reinterpret_cast?

V Jyothi
更新于 2020年6月23日 13:57:11

3K+ 次浏览

const_cast 可用于删除或添加变量的 const。如果需要从变量中添加/删除 const 属性,这将非常有用。static_cast 这用于正常的/普通的类型转换。这也是负责隐式类型强制转换的强制转换,也可以显式调用。您应该在将 float 转换为 int、char 转换为 int 等情况下使用它。dynamic_cast 此强制转换用于处理多态性。只有在转换为派生类时才需要使用它。这专门用于在从基类转换为派生类时使用继承。reinterpret_cast 这 ... 阅读更多

在哪里可以找到当前的 C 或 C++ 标准文档?

Nishtha Thakur
更新于 2020年6月23日 13:59:38

90 次浏览

您可以在 ANSI 网上商店找到当前的 C 标准文档。https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012 您可以在 ISO C++ 网站上找到当前的 C++ 标准文档以购买 - https://www.iso.org/standard/68564.html ISO C++ 标准的工作草案也可在 https://isocpp.org.cn/std/the-standard 上获得。

什么是智能指针,我应该何时在 C++ 中使用它?

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

319 次浏览

智能指针是一个包装“原始”(或“裸露”)C++ 指针的类。它用于管理指针指向的资源。例如,如果对该内存位置的引用丢失了。它有点像垃圾收集器。有多种智能指针类型。您几乎总是应该使用智能指针。这是因为使用指针的主要痛点是手动内存管理和内存泄漏。智能指针试图消除这两种情况。如果您实际上不想执行这两种操作,则应该使用智能 ... 阅读更多

广告
© . All rights reserved.