文档章节

方法调用中的别名问题

ShualLiu
 ShualLiu
发布于 2016/11/23 21:39
字数 174
阅读 34
收藏 0
class Letter {
	char c;
}

public class PassObject {
	static void f(Letter y) {
		y.c = 'z';
		System.out.println(y.c);
	}
	
	public static void main(String[] args) {
		Letter x = new Letter();
		x.c = 'a';
		System.out.println(x.c);
		f(x);
		System.out.println(x.c);
	}
}

在调用f()的时候,传递的是Letter对象的引用,而不是Letter对象的副本,因此在f()操作之后,改变的是函数外的字段的值.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void f(char y)
{
  y = 'z';
}

void ff(char *y)
{
  *y = 'z';
}

int main(void)
{
  char x = 'x';
  printf("x is: %c(before pseudo change)\n", x);
  f(x);
  printf("x is: %c(after pseudo change)\n", x);
  ff(&x);
  printf("x is: %c(after veritable change)\n", x);

  return 0;
}

在C语言中,如果进行参数传递,则默认传递的是副本.

© 著作权归作者所有

共有 人打赏支持
ShualLiu
粉丝 2
博文 32
码字总数 13848
作品 0
成都
程序员
关于安卓应用图标的几个问题

一、 ic_launcher.png --> drawable vs mipmap 元旦要到了,如果要在当天发版,想必各位工程师最近应该都提交了代码,之后元旦也少不了加班。 今天我也提交了代码,没过多久 QA 就跑过来,对...

Arnold_J
01/03
0
0
Jpush设置Alias和Tags问题

开发用到Jpush推送,分别设置Alias和Tags,调用setAlias和setTags方法;调用顺序是setAlias,然后setTags。但是问题来了,根据别名的推送却怎么也收不到。查看log日志,显示alias=null。无奈...

渊泉如渊
2015/07/08
0
0
Spring源码解析 - AbstractBeanFactory 实现接口与父类分析

我们先来看类图吧: 除了BeanFactory这一支的接口,AbstractBeanFactory主要实现了AliasRegistry和SingletonBeanRegistry接口. 这边主要提供了这样的三个功能: 别名管理,单例创建与注册,工厂方...

-wangming-
2016/03/12
87
0
【quickhybrid】组件(自定义)API的实现

前言 前文在API规划时就已经有提到过组件API这个概念,本文将会介绍它的原理以及实现 理解组件API这个概念 在quick hybrid中,API是按模块划分的,如,等都是不同模块,而模块的另一个名称则...

2017/12/27
0
0
Spring中bean的生命周期

Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean 的别名只能维持一个实例,而不是每次都产生一个新的对象使...

ArlenXu
2015/01/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

驰狼课堂

http://www.chilangedu.com/

求是科技
8分钟前
0
0
jumpserver 报错"Incorrect string value

申明 本文所有内容参考自jumpserver记录命令无法入库问题 #1773 简介 jumpserver 1.4.0在jumpserver.log中大量报错,错误日志 File "/opt/jumpserver/apps/terminal/api.py", line 246, i...

zhnxin
15分钟前
1
0
用户管理相关配置文件及命令

9月19日任务 2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理 扩展知识 实用小工具 简单命令行下实现Linux/Windows文件互传 前提:使用远程工具Xsh...

robertt15
33分钟前
0
0
presto 架构

presto 介绍 是Facebook开源的,完全基于内存的并⾏计算,分布式SQL交互式查询引擎 是一种Massively parallel processing (MPP)架构,多个节点管道式执⾏ ⽀持任意数据源(通过扩展式Connect...

张欢19933
33分钟前
0
0
Ajax技术应用

1. 相关概述 1. ajax:即异步js与xml,可以实现客户端与服务端之间数据的异步交互。对于普通的B/S 模式是采用的同步方式,即一次请求必须等待一次服务器响应完成,而异步则是客户端发送请求后...

江左煤郎
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部