首页 > TAG信息列表 > pass-by-value

java-传递参考var和GC

这个问题已经在这里有了答案:            >            Is Java “pass-by-reference” or “pass-by-value”?                                    80个如果我们将引用变量传递给method并修改了对象的状态,则这些修

修改嵌套字典中的元素,并为其指定“路径”

给定索引列表的“路径”(任意长度)和嵌套的Python列表/字典对象,如何在列表中写入对象的一部分? 例如,这可能是我的对象(它是从JSON文件加载的): data = {"dogs":[{"tail": True, "properties":{"test":1}}]} 而我的索引列表可能看起来像[“ dogs”,0,“ properties”]. 如果要检索

请解释此Java数组参考参数传递行为

public class TestArray { public static void main(String[] args) { int[] ar = {1,2,3,4,5,6,7,8,9}; shiftRight(ar); for (int i = 0; i < ar.length; i++) { System.out.print(ar[i]); } // prints: 91234

Java-更新HashMap值的最佳方法-与值/引用相关的传递

我有一些数据的HashMap.看下面的代码… HashMap<String, Double[]> map; //Already populated with data Double[] results = map.get(key); updateArray(results); //This function makes changes to the results array. map.put(key, results); …我的问题是map.put(key,resul

为什么在PHP中通过引用传递?

我编写了一个函数,该函数应该接受一些变量,然后更改这些变量的值.但是,运行该函数后,变量保持不变.然后,我进行了一次谷歌搜索,发现您需要放置&在变量名前面.然后代码执行了我想要的操作.但是,我不明白为什么您需要添加&.还有其他方法可以完成我需要做的事情吗?基本上,我对引用传递

将对象从活动传递到片段是通过引用传递

当我们使用Serializable和Parcelable在活动之间传递对象时,会将对象的副本/值发送到接收活动(典型的按值传递行为). 但是为什么当我们将对象作为Bundle在Bundle中传递给Fragments时,由于某种原因,它们是作为对象的引用而不是对象的副本/值发送的(按引用传递行为).我没有检查过Seria

java-仅传递私有成员的值

我正在创建一个类,该类使用一个数组作为其私有成员,并使用getter,setter方法.我想使用main函数中的数组为该数组设置一个值.当我在main函数中操作数组时,它不应影响该类中存在的数组. 我尝试了这段代码,但是在这里数组被操纵 class ClassB { private int[] a; ClassB()

c-按值传递和按引用传递

我正在开发一个项目,该项目通过使用超载为员工计算收入,并且还通过引用传递值.我需要使用程序中的至少一个函数来演示传递值;以及至少一个用于演示带有引用参数的引用传递的功能.这是到目前为止我得到的: #include <iostream> #include "Grosspay.h" #include "iomanip" using names

C:我如何通过ref或值来决定是否传递params?

使用C我如何决定是否应该通过值或引用/指针传递参数? (告诉我32位和64位的答案)让我们看看A.是否有2个32位值更少或相等,可以作为指向32位值的指针? B对我来说似乎总是应该通过价值.我认为我应该通过价值,但有人告诉我(但我没有看到证据)处理器不处理值而不是他们的比特,所以它是更多

在Java中更改参数是一个好习惯

假设我在Java中编写方法foo(int i). 因为我通过值传递,所以在foo中更改它是安全的.例如 void foo(int i) { i = i + 1; // change i ... } 在Java中更改方法的参数是否被认为是好的或坏的做法?解决方法:一般来说,它被认为是不好的做法,尽管有些人忽略了它,你可以在其他答案

困惑,java是否在传递对象引用时使用按值调用或按引用调用?

参见英文答案 > Is Java “pass-by-reference” or “pass-by-value”?                                    82个 public class program1{ public static void main(String args[]){ java.util.Vector vc=new java.util.Vector

c – 在将对象传递给函数时,我必须重载哪些运算符才能查看所有操作?

我想编写一段代码,显示在将对象传递给函数时对对象执行的所有复制/赋值/删除等操作. 我写了这个: #include <iostream> class A { public: A(){std::cout<<"A()"<<std::endl;} void operator=(const A& a ){std::cout<<"A=A"<<std::endl;}

c – 有没有理由标准算法按价值取Lambda?

参见英文答案 > Why the sequence-operation algorithms predicates are passed by copy?                                    3个 所以我在这里问了一个问题:Lambda Works on Latest Visual Studio, but Doesn’t Work Elsewhere我得到了回复

python – 按值传递列表

我想通过值将列表传递给函数. 默认情况下,列表和其他复杂对象通过引用传递给函数.这是一些决定: def add_at_rank(ad, rank): result_ = copy.copy(ad) .. do something with result_ return result_ 这可以写得更短吗?换句话说,我不想改变广告.解决方法:您可以使用[:],

python pandas dataframe,是值传递还是传递引用

如果我将数据帧传递给函数并在函数内修改它,它是按值传递还是按引用传递? 我运行以下代码 a = pd.DataFrame({'a':[1,2], 'b':[3,4]}) def letgo(df): df = df.drop('b',axis=1) letgo(a) 函数调用后a的值不会改变.这是否意味着它是传值? 我也试过以下 xx = np.array([[1,2],

当比较Java中的Integer包装器时,为什么128 == 128 false但127 == 127为真?

class D { public static void main(String args[]) { Integer b2=128; Integer b3=128; System.out.println(b2==b3); } } 输出: false class D { public static void main(String args[]) { Integer b2=127; Integer

c – 是否通过指针?

void func(char* buf) { buf++;} 我应该通过指针调用它还是只传递值(值为指针类型)?在这种情况下,传入的原始指针会被改变吗?解决方法:这是值得传递的. void func( char * b ) { b = new char[4]; } int main() { char* buf = 0; func( buf ); delete buf; r

C通过参考和通过值函数的副作用?

我理解为什么这样可行 #include <iostream> using namespace std; int additionFive (int a) { a = a - 5; return a; } int subtractFive (int &a) { a = a -5; return a; } int main() { int local_A = 10; cout << "Answer: "

C/C++:使用函数返回的向量的有效方法

假设我们有一个名为V of vector vector< int>的向量.这是一个班级的私人成员. 我们也有这个类的公共功能: vector<int> getV(){ return V; } 现在,如果我有这个类的一个实例,我想做的就是读取值并找到向量中所有值的总和, 我可以这样说: MyClass obj; //update vector size_t

c – 为什么这个程序使用boost :: ref

The Ref library is a small library that is useful for passing references to function templates (algorithms) that would usually take copies of their arguments. 从http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/example/chat/chat_server.cpp 在电

c – 为什么使用const作为值传递的参数?

参见英文答案 > Const correctness for value parameters                                    7个 说你有: int f( const T a ) { ... } int g( const T &a ) { ... } 我理解在g中使用const:我们不知道如何在函数外部使用,所以我们希望保护它

Java – 按值传递 – 垃圾收集

试图完全掌握Java的pass-by-value.假设我们有这个代码: public class Test { static void switchIt(Test t) { t = new Test(); } public static void main(String ... args) { Test a = new Test(); switchIt(a); } } 当a引用的对象传

c – 通过value或const ref传递std :: shared_ptr然后存储在容器中?

考虑以下向量: std::vector<std::shared_ptr<X>> myVector; 以及以下两个将给定元素添加到向量的函数: void foo1(std::shared_ptr<X> x) { myVector.push_back(x); } void foo2(const std::shared_ptr<X>& x) { myVector.push_back(x); } 我的理解是两个函数都将shared

java – 自动更新布尔值

语境: https://www.reddit.com/r/dailyprogrammer/comments/4wqzph/20160808_challenge_278_easymed_weave_insert_part_1/ 完整代码:http://pastebin.com/UghV3xdT 我有两个几乎相同的方法,只能用一个if语句来区分:if(k%3!= 1)和if(k%2 == 0). int k = 0; while(k<50){ if(k % 3 !=

C以参考方式致电

如果我有一个函数,它接受一个整数的指针,并且我从我的main传递一个整数变量的引用,这是按值调用还是通过引用调用?示例代码: #include <iostream> using namespace std; void fun(int *a){ //Code block } int main(){ int a = 5; fun(&a); return 0; } 在上面的代