CODESYS - Difference between pointer and reference

Publicado em: 28 Fevereiro 2021
no canal de: AT&U
8,187
84

A pointer from type T points to an object from type T (T = basic or user-defined datatype)
A pointer holds the address of the object that is pointing to
The fundamental operation with a pointer is called "dereferencing". The dereferencing in CODESYS is done with the symbol "^"
A pointer can point to a different object at a different time
Before dereferencing a pointer and assigning a value to it, you should always check if a pointer points to an object. (pointer = 0)?
A reference from type T "points" to an object from type T (T = basic or user-defined datatype)
A reference must be initialized with an object and its "pointing" to this object through the program
A reference must not be dereferenced as a pointer and it can be used with the same syntax as the object
Another word for reference is "Alias" (another name) a pseudonym for the object
The reference doesn't have its own address and a pointer does. The address of the reference is the same as the "pointed" object.
There is no 0 reference, so you should never call the reference if it's not initialized
You should check if you have a valid reference with the CODESYS integrated keyword "__ISVALIDREF"

The best use of pointers and references is when you want to pass or return an object of some type to a function or function block by "reference" because the object is either too big or you want to manipulate the passed object within the function/function block. Make sure that, the reader of your code knows that you're going to change the value of the object within the function/function block if this is what you intend to do when you pass it as an argument.


Nesta página do site você pode assistir ao vídeo on-line CODESYS - Difference between pointer and reference duração hora minuto segundo em boa qualidade , que foi baixado pelo usuário AT&U 28 Fevereiro 2021, compartilhe o link com seus amigos e conhecidos, no youtube este vídeo já foi visto 8,187 vezes e gostou 84 espectadores. Boa visualização!