CODESYS - Difference between pointer and reference

AT&U
AT&U
7.7 هزار بار بازدید - 3 سال پیش - - A pointer from type
- 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.
3 سال پیش در تاریخ 1399/12/10 منتشر شده است.
7,716 بـار بازدید شده
... بیشتر