找到 34423 篇文章 编程

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

raja
更新于 2023年11月17日 14:21:41

8K+ 浏览量

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

C++ 中的输出迭代器

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

565 浏览量

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

C++ 中的组合设计模式

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

1K+ 浏览量

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

C++ 中的迭代器失效

Ankith Reddy
更新于 2019年7月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年7月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年7月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年7月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年7月30日 22:30:26

7K+ 浏览量

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

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

George John
更新于 2019年7月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年7月30日 22:30:26

2K+ 浏览量

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

广告

© . All rights reserved.