我的问题是指带有类和关键字 this 的指针。
class class1 {
public:
bool isitme(class1& temp){
if(this == &temp)
return true;
else return false;
}
};
int main () {
class1 c3;
class1* c2 = &c3;
if(c3.isitme(*c2))
cout << "c3 == c2"; //it is returning that
system("pause");
}
Run Code Online (Sandbox Code Playgroud)
上面的代码是有效的,但我不明白的是为什么它只在bool isitme(class1& temp)和if(this == &temp)位于同一函数中时才有效isitme()。
我的意思是,我们已经在类参数中读取了 temp 的内存块class1& temp,并且应该能够将该内存块与关键字进行比较this。为什么只有当我双重获取引用 ( this == &temp) 时该函数才为 true?
谢谢
这是脚本的一部分.它应该在名称之前得到数字,这些数字将始终相同(在这种情况下cows)
cows = "111 cows 222 cows "
for cow in cows.find(" cows "):
startingpos = cow-4
print(cows[startingpos:cow])
Run Code Online (Sandbox Code Playgroud)
结果应该是:
111
222
Run Code Online (Sandbox Code Playgroud)
但是,我得到了
TypeError: 'Int' object is not iterable
Run Code Online (Sandbox Code Playgroud)
即使cows是一个字符串,而不是一个整数,为什么?
初始化null或清空有什么区别:
Type name = null;
Type name;
Run Code Online (Sandbox Code Playgroud)
有什么不同吗?
我明白这个例子:
String name = null;
String name = "";
Run Code Online (Sandbox Code Playgroud)
不同之处在于,第一个不会将其初始化为任何值而另一个不会,但前两个之间是否存在差异?
假设我有一个 A.java,其中两个类(公共类和私有类)都位于同一文件中。
public class A{
public static void main(string[] args){
...
}
}
class B{
...
}
Run Code Online (Sandbox Code Playgroud)
为什么Java在编译A.java时会自动创建A.class和B.class?
是为了避免此类问题吗?/sf/answers/163573371/
如果 Foo.java 引用 Baz 而不是 Bar,并且我们尝试编译 Foo.java,会发生什么情况?编译失败并出现如下错误:
Foo.java:2:找不到符号符号:class Baz 位置:class Foo private Baz baz;^ 1 个错误
另外,我知道使用 Java 的正确方法是每个类一个文件,但我想知道为什么 Java 这样做。