相关疑难解决方法(0)

复制构造函数创建依赖副本

我实现了这里描述的复制构造函数.但问题仍然是当我更新时route_copy,则应用相同的更新route.所以,我不明白我的代码有什么问题?

public class Route implements Comparable<Route> {
    private List<Site> sites;

    public Route()
    {
        sites = new ArrayList<Site>();
    }

    public Route(List<Site> sites)
    {
        this.sites = sites;
    }

    /**
     * Copy constructor
     */
    public Route(Route r) {
        this(r.sites);
    }

    public void deleteSite(Site s) {
        this.sites.remove(s);
    }
}

public processData(Route route)
{
  Route route_copy = new Route(route);
  Site s = selectSite(route_copy);
  route_copy.deleteSite(s); // !!! now 'route' does not contain an  element 's'
}
Run Code Online (Sandbox Code Playgroud)

java clone copy-constructor

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

struct中的指针

我有以下情况.我的目标是使a和b这样两者都指向相同的记忆.但条件是它们都是指针.我该怎么做?

struct myStruct
{
struct anotherStruct* anoStrct;
};
main()
{
   struct myStruct *a=( struct myStruct*)malloc(sizeof( struct myStruct));
   struct myStruct *b=( struct myStruct*)malloc(sizeof( struct myStruct));
   a=b;


}
Run Code Online (Sandbox Code Playgroud)

c struct pointers

0
推荐指数
1
解决办法
209
查看次数

Java对象作为函数参数传递

以下关于Java的声明是假的吗?

在Java中,当一个类或对象的实例被指定为方法的参数时,正在创建该对象的副本

我知道Java中的函数是按值传递的,这意味着正在制作对象的副本?

但与此同时,如果java对象是引用并且你传递了一个引用,这不同于实际数据的副本不是吗?

如果你传递一个引用,当重新分配引用时,对象将被重新分配,使得Java传递引用不是按值传递的?

如你所见,我对此非常困惑

java function object pass-by-reference pass-by-value

0
推荐指数
1
解决办法
1918
查看次数

深拷贝和浅拷贝之间的区别

我无法理解深层副本和浅层副本之间的区别。请通过简单的示例使我理解。谢谢

objective-c ios

-3
推荐指数
1
解决办法
2609
查看次数