פורסם 2008 בינואר 3017 שנים אם אני זוכר נכון אז גם out במקום var מעביר כ- reference, ואז הקומפיילר נותן warning אם אתה לא מבצע השמה למשתנה בתוך הפונקציה.
פורסם 2008 בינואר 3017 שנים היתרון של out ב C# למשל זה שלא צריך לאתחל משתנה שאתה מעביר לפונקציה שמקבלת פרמטר כזה.
פורסם 2008 בינואר 3117 שנים מחבר ניסיתי לחפש באינטרנט תשובות לגבי השאלה, אבל לא מצאתי.משהו יודע בטוח? ואם כן, האם אפשר להביא איזה לינק?
פורסם 2008 בינואר 3117 שנים תשים לב ששימוש ב- var או out זה כמעט אך ורק ל- basic types.כשאתה מעביר instances של classes (שהם למעשה - מצביעים), אתה בעצם מעביר מצביע.
פורסם 2008 בינואר 3117 שנים מחבר יש הבדל בין סוג העברת פרמטרים (שאני די בטוח שהיא ב REFERENCE) לסמנטיקה של השפה.השאלה מה היא הסמנטיקה של השפה?(למשל: JAVA - REFERENCE, C - BY VALUE)
פורסם 2008 בינואר 3117 שנים מחבר אלו "ההגדרות":Reference Semantics Variables hold references (i.e.: pointers) Assignment: 0-level copying● A new pointer to the old object Equality test: 0-level comparison● Aka: Identity comparison E.g.: Java, SmalltalkValue Semantics Variables hold the actual objects Assignment: At least 1-level copying Equality test: At least 1-level comparison E.g.: C++ (if we ignore pointers), Eiffel's expanded types
פורסם 2008 בינואר 3117 שנים בדלפי יש שני סוגים של אובייקטים מורכבים - class ו- record (שאריות מפסקל).records יכולים להיות מוקצים על ה- stack, מועברים by value אלא אם מציינים var או out. classesמוקצים רק על ה- heap וה- instances שלהם מתפקדים כ- references.זה עונה לך על השאלה?
פורסם 2008 בינואר 3117 שנים http://www.delphibasics.co.uk/Article.asp?Name=RoutinesPassing data by reference
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.