文档章节

方法调用中的别名问题

ShualLiu
 ShualLiu
发布于 2016/11/23 21:39
字数 174
阅读 33
收藏 0
点赞 0
评论 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
Spring中bean的生命周期

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

ArlenXu
2015/01/18
0
0
【quickhybrid】组件(自定义)API的实现

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

2017/12/27
0
0
Kotlin语言中的那些冷门知识点

这些知识点可能你很少用,但在某些特殊场景中却很有用。今天,就让我们一起来盘点一下那些被我们忽略了的冷门知识点。Let's started... 别名 有时候一个变量或表达式太长,你希望用一个更短的...

欧阳锋
05/04
0
0
mybatis-SQL语句构建器类

SQL语句构建器类 问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句。这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中。正如你已经看到...

狼族盟约元
2016/11/28
5
0
Android WebView中的JavaScript代码使用

 上一篇博文:Android WebView使用基础已经说了一些Android中WebView的基本使用。   本篇文章主要介绍WebView中的JavaScript代码的执行相关,已经JS代码与Android代码的互相调用。   (...

丁佳辉
2016/10/26
8
0
手撸Router——解决跨模块下的页面跳转

人之所以能,是相信能。 一、前言 开始模块化开发项目之后,一个很重要的问题就是页面见的跳转问题。 关于模块化发开,可详见我的另一片文章Android模块化开发探索。 正是由于将项目模块化拆...

01/10
0
0
laravel源码阅读(绑定与解析服务)

1. 环境配置 laravel5.1.46的源码 PHPstorm开发工具 服务器集成环境(mamp、wamp)安装xdebug扩展 2. 关键点 使用PHPstorm+xdebug进行源码阅读时需点击(F7按钮)进入到下一个执行代码的方法...

彩虹的夜晚
05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
24分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
40分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
145
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部