The difference between pass-by-reference and pass-by-pointer is that pointers can be NULL or reassigned whereas references cannot. Use pass-by-pointer if NULL is a valid parameter value or if you want to reassign the pointer. Otherwise, use constant or non-constant references to pass arguments.
假设你来写一个语言,你给你的语言两种变量调用:1)引用 2) 指针。 你在设计的时候,是不是,这个引用按照指针来设计? 只是给用户使用的时候,不同。
也就是说,引用的内在模式和原理,其实就是 地址不变的指针。 而普通的指针,则是地址可变的指针。
下面的问题是关于python的类作为参数传递给一个函数。 假设 Person person1 foo(person1) { person1.name = "Zhang San" }
foo(person1) print(person1.name)
请问这个person1是全局的类变量吗? 为什么在传递给foo(),在函数里面改变的person1.name, 在函数结束后,仍然保持改变的值呢? name = "Zhang Si" foo(name){ name = "Li Bin" } foo(name) print(name) 上面这个输出的结果是“Zhang Si”,函数内部的改变name的值,并没有影响到函数外。
干了十几年的计算机,现在也没搞明白啥中文里的指针、函数传递啥的, 当年学的时候就觉得这种中文叫法不妥
半路出家的?学过操作系统和微机原理不就了解机器码怎么load执行的了,再回头看这些概念不要太简单
你说的这些都学过,但是学的时候就不是中文
请大侠给我们用英文讲讲reference和pointer是不是其实没有区别。所谓的区别,只是厂家的定义不同。厂家指的是编译语言设计单位。
比如c++的编译器,python的编译器。
另外,python没有指针。但是有引用。python的引用其实就是指针。这句话,对吗?
他的意思是,这些词翻译成中文之后真难读懂。
如果指针死了。那么类的调用,用的是什么?
比如: Person person1 foo(Person x) { return x }
所以,大部分都是垃圾语言。 C C卄才应该好好推广。
门外汉,句号。
本质上没区别,语义上还是有本质区别的,两个概念。
计算机本质上就是二进制,但演生出好多概念。
门不门外,看看全球有几个靠c吃饭的
我靠它吃饭。