473,407 Members | 2,306 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,407 software developers and data experts.

By Reference

Lit
Hi,

when passing by reference through multiple layers or AppDomains or outProc,
servers or external domains over the web.

Is it truly by Reference or at some boundaries things are marshaled and
passed by Value?
Lets say we are passing by Ref from server A to server B to server C etc...

What is happening?
Thank you,

Lit
Aug 9 '07 #1
5 1360
Lit wrote:
Hi,

when passing by reference through multiple layers or AppDomains or outProc,
servers or external domains over the web.

Is it truly by Reference or at some boundaries things are marshaled and
passed by Value?
Lets say we are passing by Ref from server A to server B to server C etc...

What is happening?
Obviously you are not sending a pointer to the variable, as that would
be useless on a different computer. The value of the variable is sent
and a new value is returned, which is stored in the variable.

Passing by reference actually doesn't have to use a pointer in any
situation at all. The value of the variable is only guaranteed to be
updated when the method returns, the compiler can implement this by
sending the value of the variable and updating the variable on return
whenever that is more efficient.

--
Göran Andersson
_____
http://www.guffa.com
Aug 9 '07 #2
Lit
Hi Goran,

To be clear, so based on some compiler logic it may or may not pass a
pointer at all?
Does that include passing some reference to an Object also? or anything.

Thanks for your input.

Lit
"Göran Andersson" <gu***@guffa.comwrote in message
news:O9**************@TK2MSFTNGP05.phx.gbl...
Lit wrote:
>Hi,

when passing by reference through multiple layers or AppDomains or
outProc, servers or external domains over the web.

Is it truly by Reference or at some boundaries things are marshaled and
passed by Value?
Lets say we are passing by Ref from server A to server B to server C
etc...

What is happening?

Obviously you are not sending a pointer to the variable, as that would be
useless on a different computer. The value of the variable is sent and a
new value is returned, which is stored in the variable.

Passing by reference actually doesn't have to use a pointer in any
situation at all. The value of the variable is only guaranteed to be
updated when the method returns, the compiler can implement this by
sending the value of the variable and updating the variable on return
whenever that is more efficient.

--
Göran Andersson
_____
http://www.guffa.com

Aug 9 '07 #3
Lit wrote:
To be clear, so based on some compiler logic it may or may not pass a
pointer at all?
Correct. It's only defined what the result is, not how it's implemented.
Does that include passing some reference to an Object also? or anything.
Passing a reference is completely different from passing a variable by
reference. If you write code to pass a reference, a reference will be
passed.

--
Göran Andersson
_____
http://www.guffa.com
Aug 10 '07 #4
Lit
Goran,

Excellent, Thank you.

Do you have a C, C++ background or -beyond?

Thanks again,

Lit
"Göran Andersson" <gu***@guffa.comwrote in message
news:uw**************@TK2MSFTNGP03.phx.gbl...
Lit wrote:
>To be clear, so based on some compiler logic it may or may not pass a
pointer at all?

Correct. It's only defined what the result is, not how it's implemented.
>Does that include passing some reference to an Object also? or anything.

Passing a reference is completely different from passing a variable by
reference. If you write code to pass a reference, a reference will be
passed.

--
Göran Andersson
_____
http://www.guffa.com

Aug 10 '07 #5
Lit wrote:
Goran,

Excellent, Thank you.

Do you have a C, C++ background or -beyond?

Thanks again,

Lit
A have a background in Atari Basic, Compis Pascal, 6502 machine code,
Comal, Pascal, C, Fortran, Cobol, GFA Basic, 68000 Assembler, Turbo
Pascal, 80x86 Assembler, C++, VBScript, VB6, Javascript, C#.

:)

--
Göran Andersson
_____
http://www.guffa.com
Aug 10 '07 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: RU | last post by:
Hi, I am working on a porting project to port C/C++ application from unixware C++, AT&T Standard components to g++ with STL on Linux. This application has been working properly on...
110
by: Mr A | last post by:
Hi! I've been thinking about passing parameteras using references instead of pointers in order to emphasize that the parameter must be an object. Exemple: void func(Objec& object); //object...
11
by: Doug | last post by:
Is there any harm in passing an object into a method with the 'ref' keyword if the object is already a reference variable? If not, is there any benefit?
13
by: Abe Frohnman | last post by:
Hello all, I'm passing a reference to a class into the constructor of a form, like so: public MyForm(int count, ref Area myArea) {...} How can I use myArea outside the constructor? Should I...
4
by: z_learning_tester | last post by:
I'm reading the MS press C# book and there seems to be a contradiction. Please tell me which one is correct, 1 or 2. Thanks! Jeff 1. First it gives the code below saying that it prints 0 then...
13
by: al.cpwn | last post by:
I get that these two are different int* get() { static int m; return &m; } int& get() {
51
by: Kuku | last post by:
What is the difference between a reference and a pointer?
27
by: David W | last post by:
I'm almost tearing my hair out. A colleague claimed that a null reference can exist, like this: void f( int& p ) { printf( "%d\n", p ); } int main (int argc, char *argv) {
41
by: Summercool | last post by:
Can we confirm the following? also someone said, Java also has "reference" like in C++, which is an "implicit pointer": Pointer and Reference --------------------- I am starting to see what...
275
by: Astley Le Jasper | last post by:
Sorry for the numpty question ... How do you find the reference name of an object? So if i have this bob = modulename.objectname() how do i find that the name is 'bob'
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.