小编Lig*_*dle的帖子

Java中字符串的不变性

请考虑以下示例.

String str = new String();

str  = "Hello";
System.out.println(str);  //Prints Hello

str = "Help!";
System.out.println(str);  //Prints Help!
Run Code Online (Sandbox Code Playgroud)

现在,在Java中,String对象是不可变的.那么为什么对象str可以赋值"帮助!".这与Java中字符串的不变性相矛盾吗?任何人都可以向我解释一下不变性的确切概念吗?

编辑:

好.我现在得到它,但只是一个后续问题.以下代码如何:

String str = "Mississippi"; 
System.out.println(str); // prints Mississippi 

str = str.replace("i", "!"); 
System.out.println(str); // prints M!ss!ss!pp! 
Run Code Online (Sandbox Code Playgroud)

这是否意味着再次创建了两个对象("Mississippi"和"M!ss!ss!pp!"),并且引用str指向replace()方法之后的另一个对象?

java string immutability

211
推荐指数
7
解决办法
9万
查看次数

C++面试准备

我接下来将与一家在金融软件行业工作的公司接受电话采访.面试主要是用C++,解决问题和逻辑.请告诉我这次面试的准备方法.我已经开始浏览C++中的Thinking并刷新概念.还有其他方法可以准备吗?请帮忙.

编辑:

谢谢大家的建议.我只是想补充一点,我目前刚从研究生院毕业,没有以前的经验.所以,你能否提出一些问题,要求新毕业生?

c++ logic

39
推荐指数
3
解决办法
6万
查看次数

调试操作系统

我正在阅读有关操作系统的一些常规内容并触及一个问题.开发人员在开发操作系统时如何调试,即调试操作系统本身?可以为OS开发人员调试哪些工具?

debugging operating-system kernel

24
推荐指数
1
解决办法
7242
查看次数

在堆栈和堆上创建对象数组

请考虑以下代码:

class myarray
{
    int i;

    public:
            myarray(int a) : i(a){ }

}
Run Code Online (Sandbox Code Playgroud)

如何在堆栈上创建myarray对象数组,如何在堆上创建对象数组?

c++ arrays heap stack object

16
推荐指数
2
解决办法
6万
查看次数

复制构造函数和默认构造函数

在为类定义复制构造函数时,是否必须显式定义默认构造函数?请说明原因.

例如:

class A 
{
    int i;

    public:
           A(A& a)
           {
               i = a.i; //Ok this is corrected....
           }

           A() { } //Is this required if we write the above copy constructor??
};      
Run Code Online (Sandbox Code Playgroud)

另外,如果我们为复制构造函数以外的类定义任何其他参数化构造函数,我们是否还必须定义默认构造函数?考虑上面没有复制构造函数的代码并替换它

A(int z)
{
    z.i = 10;
}
Run Code Online (Sandbox Code Playgroud)

Alrite ....看到答案后,我写了下面的程序.

#include <iostream>

using namespace std;

class X
{
    int i;

    public:
            //X();
            X(int ii);
            void print();
};

//X::X() { }

X::X(int ii)
{
    i = ii;
}


void X::print()
{
    cout<<"i = "<<i<<endl;
}

int main(void)
{ …
Run Code Online (Sandbox Code Playgroud)

c++ constructor copy

14
推荐指数
1
解决办法
2万
查看次数

使用32位算术添加64位数

我们如何使用32位算术添加两个64位数?

64-bit 32-bit

12
推荐指数
5
解决办法
2万
查看次数

虚拟指针的大小-C++

C++中虚拟表的虚拟指针(VPTR)的大小是多少?这也不是一个家庭作业问题......在我阅读C++书籍时,我想到了一个问题.

c++ pointers vtable

5
推荐指数
1
解决办法
5521
查看次数

乘以两个长多头的C

我正在研究C中的一个程序,作为家庭作业的一部分,我必须得到两个长数字的乘积作为字符串.例如:123456789021和132456789098.由于它被视为一个字符串,我将它们转换为long long int进行乘法运算.但是最终的产品会非常大(我估计比长长的int大).任何人都可以建议我一个方法来执行这个乘法?

c int multiplication long-integer

5
推荐指数
1
解决办法
6485
查看次数