Jump to content
  • הצטרפו למשפחה

    היי, היי אתה (או את) שם!

    אנחנו יודעים, נחמד להיות אנונימי, ולמי בכלל יש כוח להירשם או להיות עכשיו "החדשים האלה".

    אבל בתור חברי פורום רשומים תוכלו להנות ממערכת הודעות פרטיות, לנהל מעקב אחרי כל הנושאים בהם הייתם פעילים, ובכלל, להיות חלק מקהילת הרכב הכי גדולה, הכי מגניבה, וכן - גם הכי שרוטה, באינטרנט הישראלי. 

    אז קדימה, למה אתם מחכים? בואו והצטרפו ותהיו חלק מהמשפחה הקצת דפוקה שלנו.
     

קורס, תעסוקה, שכר QA


dir="rtl" style="text-align:right;"> שימו לב! השרשור הזה בן 1905 ימים, שזה ממש ממש הרבה ולכן הוא ננעל.

אם אתם פותחי השרשור ו/או יש לכם עדכון רלוונטי לנושא - פנו לאחד המנהלים ונפתח את השרשור חזרה לתגובות.

פוסטים מומלצים

פורסם
לפני 15 שעות, flytomars כתב:

לא יודע מה אתכם, אבל כל הסניור הזה מזכיר לי את זה:

 

 

 

זה מזכיר לי (סיפור אמיתי לחלוטין), שהשם משפחה שלי נכתב באנגלית כמו שם ספרדי לחלוטין, וכמובן שאם מחפשים אותי במייל זה באנגלית, אז איזה Sales Engineer מארה"ב דיבר איתי במיילים ואז פעם אחת תיאמנו שיחה בסקייפ, והוא התחיל לדבר איתי ספרדית כי הוא היה בטוח שאני דובר ספרדית כי אני כמובן ספרדי (כהנחה בגלל השם משפחה).

מאז הסיפור מתגלגל בחברה ויש אנשים ותיקים שעדיין קוראים לי "סניור <>" במבטא ספרדי כשהם רוצים את התשומת לב שלי.

 

לפני 13 שעות, עדי-אל כתב:

מה זה נקרא אוהב לתכנן?

מה הסט דרישות? 

 

לתכנת, אוהב לתכנת, זה שאתה אוהב לשבת מול אלפי שורות קוד, לדבג שורה שורה ולהבין אם הקוד עושה מה שהוא אמור לעשות.

שמעתי פעם טענה שזה מתקשר לאנשים שאוהבים לגו, זה נכון בכמה מקרים פרטיים שאני מכיר, אבל לא בטוח אם זה באופן כוללני כזה.

אבל בוא נגיד שיש הרבה קווי השקה.

 

לפני 12 שעות, borsood כתב:

לך תמצא CPPRTL למעבד אקזוטי.

ולא, לכתוב C++ בלי STD זה לא C++ זה "C with Classes" שפת תכנות אחרת שיש הרבה מתכנתים שחושבים שהם כותבים בC++ כשבעצם הם כותבים זה.

השפה שמשלבת את המגרעות של שתי השפות.

 

זו הסיבה שבעבר נשארנו עם WinCE גם לא מעט זמן אחרי שמיקרוסופט הרגו את המערכת הפעלה הזו.

או שבחרנו במעבדי Atom למרות שהם יקרים יותר עבור אותם ביצועים.

כנ"ל עם Win XP. ומשם דילגנו ישירות ל-Win 10 בגירסה מתאימה לטאבלטים וכו'.

לא לדבר על זה שכמובן שווינדוס עם רישיון עולה לא מעט כסף עבור כל יחידה.

ועדיין בחרו לשלם יותר, לקחת Atom הכי חזק שאפשר באותה נקודת זמן, לשלם רישיון לווינדוס, ולקבל פלטפורמה נוחה לעבודה.

 

מסכים ש-C++ בלי std זה לא C++ אלא C with Classes, ואישית אני עדיין מעדיף C with Classes על פני C קלאסי.

 

ליאור

מאזדה 3 2.0 "ספיריט" 2020

בתאריך 12.5.2021 בשעה 13:54, יבגניפ כתב:

באמת. אני אוהב אותך כמו שאתה.

יבגני כבר לא אוהב אותי 😭

פורסם

לא כל כך הבנתי את הדוגמא שלך ולכן יכול להיות שאני לא הבנתי מה שאמרתה. 

להעביר רשימה בפיתון לפונקציה זה לא משתנה גלובלי.

רשימה בפיתון זה למעשה מערך דינמי ולכן הוא מעביר את הכתובת של המערך לפונקציה. אם אתה רוצה להעביר משתנה כך שתוכל לשנות אותו בתוך הפונקציה ולהחזיר את הערך החדש בתוך המשנתה אתה יכול פשוט להגדיר אותו כרשימה, בפועל הוא יתיחס למשתנה כמערך בגודל 1 ויעביר את הכתובת של המערך לפונקציה ואז קיבלתה את מה שרציתה pass by reference.

  • רעיון טוב! 2

טסלה 3 2022

פורסם

רק אומר, ב-C++ ההבדל הוא בין:

std::list<int> func(std::list<int> oldList)

ובין

void func(std::list<int>& listByRef)

או לחילופין

void func(std::list<int>* listByRef)

  • אהבתי 1
  • רעיון טוב! 1

ליאור

מאזדה 3 2.0 "ספיריט" 2020

בתאריך 12.5.2021 בשעה 13:54, יבגניפ כתב:

באמת. אני אוהב אותך כמו שאתה.

יבגני כבר לא אוהב אותי 😭

פורסם
לפני 22 דקות, vadim6385 כתב:

doSomething(oldBigList)

 

כדי שהפונקציה פשוט תשנה את הערכים בתוך oldBigList

אתה יכול לשנות ערכים בתוך הליסט בפייתון לא?

(אני לא מכיר את השפה)

תודה יבגני. הרסת לי את באטמן לתמיד.
פורסם

אז אם אני רוצה לשנות איבר ברשימה, אני פשוט מעביר את הרשימה לפונקציה?

 

ואם אני רוצה לשנות ערך של int למשל, אז אני עושה

def myfunc(val):

    val[0] = 10

 

a = [5]

myfunc(a)

a = a[0]

ואז יהיה 10?

 

לא ידעתי, תודה. אבל עדיין נראה לא טוב.

ZX 94 > קסנטיה 97 > לנסר 2007 > מונדאו 2007 > קורולה 2013 > קורולה 2015 > איוניק 2018 > סיוויק 2002 > מזדה3 2018

 

Everybody in the galaxy tries to take over the galaxy. The trick is to be left alone by whoever succeeds

פורסם

כי יותר נוח לעשות:

 

void myFunc(int* val)

{

    *val = 10;

}

.

.

int a = 5;

myFunc(&a);

ZX 94 > קסנטיה 97 > לנסר 2007 > מונדאו 2007 > קורולה 2013 > קורולה 2015 > איוניק 2018 > סיוויק 2002 > מזדה3 2018

 

Everybody in the galaxy tries to take over the galaxy. The trick is to be left alone by whoever succeeds

פורסם

יש שינוי בכך שאתה מעביר קלס מסוג ליסט שמחזיק את המערך ועוד דברים רק בשביל להעביר int.

ב C/C++ זה הרבה יותר אלגנטי ופשוט, כביכול אתה מבזבז זיכרון אבל לרוב זה שולי כל עוד אתה לא עובד על מערכת אימבדד עם זיכרון מוגבל (ובמקרה כזה לעולם אתה לא תכתוב את הקוד עם פיתון)

אבל מצד שני פיתון כל כך פשוט ולא באמת צריך לחשוב, לדוגמא אין באמת צורך לעשות del בדוגמא הקודמת של ואדים למשתנה הישן כי הוא גם ככה ימחק על ידי הגרבג קולקטור. 

טסלה 3 2022

פורסם

אה כי הוא רוצה לשנות רק אינט בודד, הבנתי.

אני לא כותבב אמבדד ולא פייתון, אבל אני מניח שגם בפייתון אין שום סיבה בעולם לכתוב קוד כזה.

 

תודה יבגני. הרסת לי את באטמן לתמיד.
פורסם
לפני כשעה, vadim6385 כתב:

 

כדי לפנות לארגומנטים בפונקציה by reference, כמו שאפשר בC/Cpp, אם אני רוצה לשנות משהו בתוך אותו מבנה נתונים, ולא להעתיק אותו למשהו חדש, ואז לשחרר את הזיכרון של הישן.

אם אתה באמת רוצה by ref אמיתי, אין ברירה אלא ctypes, למשל:

 

ציטוט

import ctypes

def incr(a):
    a += 1

x = ctypes.c_int(1) # create c-var
incr(ctypes.ctypes.byref(x)) # passing by ref

מקור

 

לפני 42 דקות, vadim6385 כתב:

אז אם אני רוצה לשנות איבר ברשימה, אני פשוט מעביר את הרשימה לפונקציה?

 

ואם אני רוצה לשנות ערך של int למשל, אז אני עושה

def myfunc(val):

    val[0] = 10

 

a = [5]

myfunc(a)

a = a[0]

ואז יהיה 10?

 

לא ידעתי, תודה. אבל עדיין נראה לא טוב.

יאפ, זה לא נראה משהו, אבל בגדול, בפייתון לא ניתן לשנות טיפוסים מספריים, אז גם כששמים משהו בתוך מערך, אם נרצה לשנות אותו פייתון יקצה לנו איבר חדש, שזה באסה מבחינת ביצועים:

 

bar = 1
foo = 1
id(bar) == id(foo)
True
bar += 1
id(bar) == id(foo)
False


def f(stam_list):

print(id(stam_list[0]))
stam_list[0] = 6
  print(id(stam_list[0]))

s_list = [1]
id(s_list[0])
263579568
f(s_list)
263579568
263579648

 

מקור

  • אהבתי 2
בתאריך 17.8.2022 בשעה 11:01, ישה כתב:

היום מדיין 4 פעמים בערב בפנסיה פעם ב שבוע ונזקק לזוקף נופלים הופ עוד 400 ש"ח להוצאה

לפני 5 שעות, falou כתב:

צריך לזכור שאנשים עם קטן גם משתמשים בו פחות זמן ולא אובססיביים על להחזיק אותו ביד... 

TL;DR- Turing, Lagrange, Dijkstra, Riemann

פורסם (נערך)

למה אתם מתעסקים בקטנות?

 

פייטון נועדה לפשט הרבה פעולות כדי שיהיה קל ונוח לפתח אלגוריתמים. מאמין שלהעביר מצביע לפונקציה זה הדבר האחרון שיפריע למי שמשתמש בפייטון למה שהיא נועדה.

עריכה אחרונה על ידי eitanuch
×
×
  • תוכן חדש...