Class Player {
Player setName(String name){
this.name = name;
return this;
// or
void setName(String name){
this.name = name;
}}
Run Code Online (Sandbox Code Playgroud)
你好.如果我使用"void"或"return this"语句使用该方法有什么区别?为什么"返回此"语句存在,如果它也一样?
我正在创建一个银行账户程序来学习OOP.我做了一个名为w_or_d(代表撤回或存款)的无效方法,但在我的虚空中制造的变量并没有延伸到虚空之外.
它将我的变量(finalbalance)显示为0.
public class users {
int balance;
int finalbalance;
public void w_or_d(int word, int amount) {
if (word ==0) {
int finalbalance = balance-amount;
}
else if (word == 1) {
int finalbalance = balance+amount;
}
}
System.out.println(finalbalance);
}
Run Code Online (Sandbox Code Playgroud) 声明一个函数std::thread和void*我使用它之间有区别void吗?
void encrypt(/*arguments*/)
{
}
// ...
std::thread(encrypt, /*arguments*/);
Run Code Online (Sandbox Code Playgroud)
我刚刚阅读了一些关于void*在互联网上使用线程的内容,并希望确保我正在使用std::thread而不是void*有充分理由.我一般都在强调我写的东西太多了.
我在这里看到了以下奇怪的语法类型:
printf("sizeof(void(*)(void)) = %zu\n", sizeof(void(*)(void)));
Run Code Online (Sandbox Code Playgroud)
void(*)(void)?sizeof8?我是JAVA的新手.我正在JAVA中编写一个包装库,以便使用类似Basic的语言提供一些函数.
当我注意到一些代码没有在JAVA库中执行时我得到了库存,尽管编译器没有抱怨(使用Eclipse).我最后通过替换代码解决了它,如下所示:
public void VideoQuality(int vQuality) //did not work
Run Code Online (Sandbox Code Playgroud)
成
public boolean VideoQuality(int vQuality) //works
Run Code Online (Sandbox Code Playgroud)
以下是完整的代码片段:
public void VideoQuality(int vQuality) //did not work
{if (vQuality==16) {
vidQuality=16;
}
else if (vQuality==-16) {
vidQuality=-16;
}
else if (vQuality==0) {
vidQuality=0;
}
else
vidQuality=-16;
vitamioExt.setVideoQuality(vidQuality);
}
public boolean VideoQuality(int vQuality) //works
{if (vQuality==16) {
vidQuality=16;
}
else if (vQuality==-16) {
vidQuality=-16;
}
else if (vQuality==0) {
vidQuality=0;
}
else
vidQuality=-16;
vitamioExt.setVideoQuality(vidQuality);
return true;
}
Run Code Online (Sandbox Code Playgroud)
我认为void对应于Visual Basic中的sub,而boolean对应于一个函数.
我发现奇怪的是,以下代码使用void工作 …
我有下一个问题.我用int memcmp ( const void * ptr1, const void * ptr2, size_t num );
函数来比较两个包含整数的void指针.这对我很有用.
int firstValue = 5;
int secondValue = 3;
void* firstValueVoid;
void* secondValueVoid
firstValueVoid = new int(firstValue);
secondValueVoid = new int(secondValue);
int compare = memcmp(firstValueVoid, secondValueVoid, 4);
cout << compare << endl;
Run Code Online (Sandbox Code Playgroud)
但是,如果我想对字符串进行同样的操作,它总是表明第一个值小于第二个值.
string firstValue = "abc";
string secondValue = "a";
int testSize = firstValue.length();
void* firstValueVoid;
void* secondValueVoid
firstValueVoid = new string(firstValue);
secondValueVoid = new string(secondValue);
int compare = memcmp(firstValueVoid, secondValueVoid, testSize);
cout << …Run Code Online (Sandbox Code Playgroud) 有什么理由我们需要无效功能吗?
出于与int main()标准相同的原因,为什么不简单地0从不需要返回值的函数返回?我看到使用int类型有三个直接的好处:
1.我们可以返回一个代码来指示函数状态; 通常,如果出现问题,我们可以返回非零错误代码.
2.我们可以在调试时输出函数的返回值
3.它是main()例程的标准; 就是,int main() {}.为什么不跟风呢?
是否有任何理由为什么我们宁愿void过int?
示例:对奶酪数组进行排序并通过引用返回的函数.
#include <iostream>
#include <string.h>
int sortArrayInt(string & _cheese[]) { // pun intended ;D
int errCode = 0;
try {
// ..sort cheese[] array
} catch(e) {
errCode = 1;
}
return errCode;
}
void sortArrayVoid(string & _cheese[]) {
// .. sort cheese[] array
// no return code to work with, doesn't follow int main() standard, and …Run Code Online (Sandbox Code Playgroud) 如何创建一个名为"Void"的变量,例如我真的尝试了很多方法,但似乎没有任何工作.
void 'void' (void);
Run Code Online (Sandbox Code Playgroud)