找到关于编程的34423 篇文章

为什么 Java 中的 String 类是不可变的或最终的?

raja
更新于 2023-11-17 14:21:41

8K+ 次浏览

字符串不可变意味着我们不能更改对象本身,但我们可以更改对对象的引用。字符串被设置为 final 以防止其他人扩展它并破坏其不变性。安全参数通常在网络连接、数据库连接 URL、用户名/密码等中表示为字符串。如果它是可变的,这些参数很容易被更改。同步和并发使字符串不变性自动使其线程安全,从而解决了同步问题。缓存当编译器优化我们的字符串对象时,如果两个对象具有相同的值 (a =" test", 和 b =" test"),则似乎…… 阅读更多

C++ 中的输出迭代器

Arjun Thakur
更新于 2019-07-30 22:30:26

565 次浏览

在这里,我们将了解 C++ 中的输出迭代器。输出迭代器具有一些特性。如下所示:输出迭代器用于修改容器的值。我们不能使用这种迭代器从容器读取数据。这是一个单向、只写迭代器。它可以递增,但不能递减。输出迭代器有两个子部分。它们是插入迭代器和 ostream 迭代器。插入迭代器插入迭代器用于将某些元素插入容器中。此类迭代器上的赋值运算符会在当前位置插入新元素。插入迭代器的语法…… 阅读更多

C++ 中的组合设计模式

Ankith Reddy
更新于 2019-07-30 22:30:26

1K+ 次浏览

组合模式用于我们需要以类似于单个对象的方式处理一组对象的情况。组合模式根据树结构组合对象以表示部分和整体层次结构。这种设计模式属于结构模式,因为它创建一组对象的树结构。此模式创建一个包含其自身对象组的类。此类提供修改其相同对象组的方法。我们将通过以下示例演示组合模式的使用,在该示例中,我们将显示组织的员工层次结构。在这里,我们…… 阅读更多

C++ 中的迭代器失效

Ankith Reddy
更新于 2019-07-30 22:30:26

1K+ 次浏览

在 C++ 中,我们有不同的容器,例如 vector、list、set、map 等。要遍历这些容器,我们可以使用迭代器。在使用 C++ 中的迭代器时,我们应该小心。当我们使用迭代器遍历容器时,有时它可能会失效。如果形状、大小发生变化,那么我们可能会遇到这种问题。在下面的示例中,我们可以识别失效问题。示例代码#include #include using namespace std; int main() {    vector vec{11, 55, 110, 155, 220};    for (auto it=vec.begin(); it!=vec.end(); it++)       if ... 阅读更多

C++ 中的 I/O 重定向

George John
更新于 2019-07-30 22:30:26

590 次浏览

在 C 中,我们可以使用 freopen() 函数进行重定向。使用此函数,我们可以将现有的 FILE 指针重定向到另一个流。freopen 的语法如下:FILE *freopen(const char* filename, const char* mode, FILE *stream)在 C++ 中,我们也可以进行重定向。在 C++ 中,使用流。在这里,我们可以使用我们自己的流,也可以重定向系统流。在 C++ 中,有三种类型的流。istream:仅支持输入的流ostream:仅支持输出的流iostream:这些可用于输入和输出。这些类和文件流类…… 阅读更多

C、C++ 和 Java 中的浮点运算和结合性

Chandu yadav
更新于 2019-07-30 22:30:26

212 次浏览

在 C、C++ 和 Java 中,我们对浮点数进行一些数学运算。现在我们将检查浮点数是否遵循结合律。答案是:否。在某些情况下,浮点数不遵循结合律。我们将看到一些示例。示例代码#include using namespace std; main() {    float x = -500000000;    float y = 500000000;    float z = 1;    cout

C 和 C++ 中的未定义行为

Arjun Thakur
更新于 2019-07-30 22:30:26

250 次浏览

在这里,我们将看到一些 C 和 C++ 代码。并尝试猜测结果。这些代码将生成一些运行时错误。1. 除零错误是未定义的。示例代码#include using namespace std; int main() {    int x = 10, y = 0;    int z = x / y;    cout

动态初始化变量是什么意思?

Ankith Reddy
更新于 2019-07-30 22:30:26

7K+ 次浏览

对象的动态初始化是指在运行时初始化对象,即对象的初始值要在运行时提供。可以使用构造函数并将参数值传递给构造函数来实现动态初始化。这种类型的初始化是在运行时初始化类变量所必需的。为什么我们需要动态初始化?需要对象的动态初始化,因为它可以有效地利用内存。可以使用重载的构造函数提供各种初始化格式。它具有在运行时根据情况使用不同数据格式的灵活性。示例代码#include using namespace std; class simple_interest {   ... 阅读更多

如何使用 C++11 创建计时器?

George John
更新于 2019-07-30 22:30:26

1K+ 次浏览

在这里,我们将了解如何使用 C++ 创建计时器。这里我们创建一个名为 later 的类。此类具有以下属性。int(等待运行代码之前的毫秒数)bool(如果为真,则立即返回,并在另一个线程上指定时间后运行代码)可变参数(我们想要精确提供给 std::bind 的参数)我们可以将 chrono::milliseconds 更改为纳秒或微秒等以更改精度。示例代码#include #include #include #include class later {    public:       template       later(int after, bool async, callable&& f, arguments&&... args){     ... 阅读更多

C++ 中的代理类是什么?

Chandu yadav
更新于 2019-07-30 22:30:26

2K+ 次浏览

在这里,我们将了解 C++ 中的代理类。代理类基本上是代理设计模式。在此模式中,一个对象为另一个类提供修改后的接口。让我们看一个例子。在这个例子中,我们想创建一个数组类,它只能存储二进制值 [0, 1]。这是第一次尝试。示例代码class BinArray {    int arr[10];    int & operator[](int i) {       //在此处添加一些代码    } };在这段代码中,没有条件检查。但是我们希望 operator[] 在我们添加类似…… 阅读更多

广告
© . All rights reserved.