相关疑难解决方法(0)

Java是"通过引用传递"还是"传递价值"?

我一直认为Java是传递引用的.

但是,我看过一些博客文章(例如,这个博客)声称它不是.

我不认为我理解他们所做的区别.

解释是什么?

java methods parameter-passing pass-by-reference pass-by-value

6270
推荐指数
80
解决办法
189万
查看次数

什么是移动语义?

我刚刚听完了Scott Meyers关于C++ 0x的软件工程电台播客采访.大多数新功能对我来说都很有意义,我现在对C++ 0x感到兴奋,除了一个.我仍然没有得到移动语义 ......它们究竟是什么?

c++ c++-faq move-semantics c++11

1614
推荐指数
11
解决办法
39万
查看次数

在C++中通过引用传递指针是否有好处?

在C++中通过引用传递指针有什么好处?

最近,我看到一些例子选择通过指针传递函数参数而不是通过引用传递.这样做有好处吗?

例:

func(SPRITE *x);
Run Code Online (Sandbox Code Playgroud)

随叫随到

func(&mySprite);
Run Code Online (Sandbox Code Playgroud)

func(SPRITE &x);
Run Code Online (Sandbox Code Playgroud)

随叫随到

func(mySprite);
Run Code Online (Sandbox Code Playgroud)

c++ pointers parameter-passing pass-by-reference

220
推荐指数
6
解决办法
12万
查看次数

在C++中通过引用/值传递

我想澄清价值和参考之间的差异.

我画了一张照片

在此输入图像描述

所以,为了通过价值,

使用不同的引用创建相同对象的副本,并为本地变量分配新引用,以指向新副本

如何理解单词:"如果函数修改了该值,则修改也出现在调用函数的范围内,用于传递值和引用"

谢谢!

c++ pass-by-reference pass-by-value

35
推荐指数
5
解决办法
10万
查看次数

C++按值传递非原始类型?

我必须对C++ 11有一个基本的误解.我的教授告诉我,除了引用或指针之外,不可能将非原始类型传递给函数.但是,以下代码工作得很好

#include <iostream>
using namespace std;

class MyClass
{
public: 
    int field1;
};

void print_string(string s) { 
    cout << s << endl; 
}

void print_myclass(MyClass c) { 
    cout << c.field1 << endl; 
}

int main(int argc, char *argv[]) 
{
    string mystr("this is my string"); 
    print_string(mystr); // works
    MyClass m; 
    m.field1=9; 
    print_myclass(m); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

运行该程序会产生以下输出

this is my string
9

RUN SUCCESSFUL (total time: 67ms)
Run Code Online (Sandbox Code Playgroud)

我在Win7上使用MinGW/g ++

为什么这样做?我以为非原始类型不能通过值传递?!

c++ class parameter-passing pass-by-value

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