Julia: 引用与copy: 关于数组、自定义类型与初始化
1、关于数组赋值,显然是指向同一对象的引用。
julia> a =[1,2,3]
3-element Array{Int64,1}:123julia> d =Array{Array{Int64,1},1}()
0-element Array{Array{Int64,1},1}julia> push!(d,a)
1-element Array{Array{Int64,1},1}:[1,2,3]julia> b =a
3-element Array{Int64,1}:123
julia> push!(a,4)
4-element Array{Int64,1}:1234
查看变量d,已经发生了变化!
julia> d
1-element Array{Array{Int64,1},1}:[1,2,3,4]
2、 如果对于自定义的类型,比如foo,情况会如何?
julia> type fooname::ASCIIStringold::Float64foo() =new();end
对foo进行赋值
julia> f1 =foo()
foo(#undef,0.0)julia> f1.name ="sh"
"sh"julia> f1.old =28.0
28.0
julia> f2=f1
foo("sh",28.0)julia> e =foo[]
0-element Array{foo,1}julia> push!(e,f1)
1-element Array{foo,1}:foo("sh",28.0)julia> f2.name ="bj"
"bj"
再查看一下e 和f1=>
julia> e
1-element Array{foo,1}:foo("bj",28.0)julia> f1
foo("bj",28.0)
3、注意,如果f1进行初始化后,此时是COPY!,并不影响f2 和e.
julia> f1=foo()
foo(#undef,1.0953763033e-314)julia> f2
foo("bj",28.0)julia> e
1-element Array{foo,1}:
foo("bj",28.0)
其它类型初始化?
julia> g=e
1-element Array{foo,1}:foo("bj",28.0)julia> e=foo[];
结果,也相同。
julia> g
1-element Array{foo,1}:foo("bj",28.0)
Julia: 引用与copy: 关于数组、自定义类型与初始化相关推荐
- java自定义方法参数注解_Java方法中的参数太多,第1部分:自定义类型
java自定义方法参数注解 我认为构造函数和方法中冗长的参数列表是Java开发中的另一个" 危险信号 ",就逻辑和功能而言,它们不一定是"错误的",但通常暗示当 ...
- Java方法中的参数太多,第1部分:自定义类型
我认为构造函数和方法中冗长的参数列表是Java开发中的另一个" 危险信号 ",就逻辑和功能而言,它们不一定是"错误的",但通常暗示当前或将来出现错误的可能性很高 ...
- 值类型 与引用的 copy
结构体和枚举是值类型 值类型被赋予给一个变量,常数或者本身被传递给一个函数的时候,实际上操作的是其的拷贝. 在之前的章节中,我们已经大量使用了值类型.实际上,在 Swift 中,所有的基本类型:整数( ...
- php 判断类型array,判断一个变量是数组Array类型的方法_javascript技巧
在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...
- 【JavaScript笔记 · 基础篇(五)】Array全家桶(引用数据类型中的数组 / Array对象 / Array.prototype)
文章目录 一. 引用数据类型中的数组 1.1 概述 1.2 初始化 1.2.1 字面量 1.2.2 构造函数模式 1.3 访问 1.4 length属性 1.5 数组遍历 1.6 类数组对象 1.6. ...
- ruby 数组自定义排序_在Ruby中对数组排序
ruby 数组自定义排序 Sorting was a preoccupation for computer scientists from early on. There were many algo ...
- 详解C语言自定义类型(结构体,位段,枚举,联合)
C语言中有许多类型,比如整形int,字符型char,双精度浮点型double等等.这些类型可以存放一些值或者字符.但是如果我想要一种类型存放一本书,显然是没有的,那么这时候就需要自定义类型了,也就是结 ...
- Oracle 自定义类型TYPE(subtype, type object, type body, type table) 用法
原 ORACLE 自定义类型 type/ object 2017年03月28日 13:58:23 tan1012194073 阅读数:5999 版权声明:本文为博主原创文章,未经博主允许不得转载. h ...
- oracle自定义的记录类型,oracle 自定义类型 type / create type
一:Oracle中的类型有很多种,主要可以分为以下几类: 1.字符串类型.如:char.nchar.varchar2.nvarchar2. 2.数值类型.如:int.number(p,s).integ ...
- Java值传递以及引用的传递、数组的传递
2019独角兽企业重金招聘Python工程师标准>>> 许多编程语言都有2种方法将参数传递给方法------按值传递和按引用传递. 与其他语言不同,Java不允许程序员选择按值传递还 ...
最新文章
- 前端基础--javascript 基础
- 图的dfs非递归_如何理解恶心的递归
- pom.xml配置文件中所有标签及作用简单描述
- 【爬虫】beautiful soup笔记(待填坑)
- pyqt界面屏幕分辨率自适应_后台系统界面设计踩过的那些坑
- Storyboard中segue使用总结
- 使用CSS实现无滚动条滚动
- 博客目录列表(C与Linux部分)
- Lucene 和 Elastic
- Git Rebase后,本地代码丢失解决方法
- 无ide编译java_无IDE编译和运行java
- var that =this的用法详解
- ps画笔工具、填充选区文字工具、合成
- 无 Flash 时代,让直播拥抱 H5
- CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档……
- 如何简单的将中文翻译为英文
- pci-e服务器显卡性能,旗舰显卡不同PCI-E模式下性能对比测试
- [机器学习基石]台大林轩田笔记1 -- The Learning Problem
- 【LeetCode】把数字翻译成字符串最长不含重复字符的子字符串
- 子平真诠释疑笔记(一)