[מוזיק פּלייינג] דאַג לויד: אַלע רעכט. טיפּ פון אַ מאָדנע טעמע, רעכט? מאַגיש נומערן. וואָס דאָו ער מיינען ווען ער ס גערעדט וועגן מאַגיש נומערן? נו, עטלעכע פון ​​די מגילה אַז מיר ווע געשריבן אין קס50 אַזוי ווייַט האָבן געהאט עטלעכע טשודנע נומערן מין פון טראָון אין זיי. טאָמער פֿאַר סיבות מיר טאָן ניט לעגאַמרע פֿאַרשטיין רעכט איצט. למשל, אין די מאַריאָ פּראָבלעם, מיר קאַפּט די הייך פון די פּיראַמיד אין 23. מיר בפֿירוש האט איר קענען נישט גיין העכער ווי 23. אבער וואָס טוט 23 מיינען? נו, אויב איר לייענען די ספּעק Carefully, איר זאל האָבן געזען אַז די סיבה מיר קאַפּט עס אין 23 איז ווייַל די סטאַנדאַרט הייך פון אַ וואָקזאַל פֿענצטער איז 24. און אַזוי אויב מיר האָבן די פּיראַמיד זייַן העכער ווי אַז, עס זאל טאָן דעם טשודנע זאַך ווו עס ראַנז אַוועק דעם עקראַן. און איר וויסן, וואָס טוט וואָס מיינען אין קאָנטעקסט, רעכט? איז די טייַטש פון 23 מיד קלאָר ווי דער טאָג צו עמעצער וואס קוקט אין דיין פּראָגראַם און אפֿשר האט אַ אַנדערש גרייס וואָקזאַל פֿענצטער? מיסטאָמע נישט. עס מיינט ווי, גוט. נו, וואָס איז עס נאָר ווייניקער ווי 23? אין אַלגעמיין, עס ס מין פון אַ שלעכט מידע אַקטשאַוואַלי צו שרייַבן קאַנסטאַנץ אין אייער קאָד. אין טאן אַזוי, ווען איר אַקטשאַוואַלי טאָן שרייב אַ קעסיידערדיק אין דיין קאָד, עס ס מאל רעפעררעד צו ווי ניצן מאַגיש נומערן, וואָס איז עפּעס מיר בכלל ווילן צו פּרובירן און ויסמייַדן. לעמאָשל, לאָזן ס נעמען אַ קוק אין דעם פּשוט פֿונקציע דאָ. דאָך דאָרט ס קיין דאַטן טיפּ אין C גערופֿן קאָרט אָדער דעק. אַזוי נאָר טראָגן מיט מיר. עס ס אַ קליין ביסל פון פּסעודאָקאָדע געמישט אין דאָ. דאס איז אַ פֿונקציע גערופֿן האַנדלען קאָרט אַז משמעות נעמט אַ דעק ווי זייַן פּאַראַמעטער, און וועט רעזולטאַט צו מיר אַ איין קאָרט. און איך בין טאן עפּעס דאָ ווו איך האָבן אַ שלייף אַז ראַנז 0-52, און איך האַנדלען אַ קאָרט. נו, מיר ווע גאַט אַ מאַגיש נומער אין דאָ, רעכט. צי איר זען וואָס די מאַגיש נומער איז? אָדער מער ימפּאָרטאַנטלי, טאָן איר זען וואָס די פּראָבלעם איז דאָ? דער הויפּט אויב דעם איז נאָר איין פֿונקציע אין זייַן אייגן טעקע אין אַ טעקע אַז כּולל אַ בינטל פון פאַרשידענע טעקעס, יעדער פון וואָס טוט אן אנדער זאַך צו אַ שאַסל. אפֿשר עס שופפלעס זיי, אָדער דילז אַ האַנט פון פינף קאַרדס אָנשטאָט אַ איין קאָרט. צי איר זען וואָס די פּראָבלעם קען זיין דאָ? צי איר זען די מאַגיש נומער איך'ווע ינדזשעקטיד אין די קאָד? עס ס 52, רעכט. ווי, ינטויטיוולי איר מיסטאָמע וויסן, גוט. ווי אַ נאָרמאַל דעק פון קאַרדס כּולל 52 קאַרדס. אבער אין אונדזער פּראָגראַם, עס ס נאָר מין פון Floating אַרום אין עס. עס ס ווי אַלע פון ​​אַ פּלוצעמדיק עס ס אַ 52. איין וועג צו האַלטן דעם פּראָבלעם איז צו טאָן דעם. מיר ניטאָ זייער בפֿירוש איצט פאַך אויס די דעק גרייס ווי 52. עס גיט עס אַ ביסל מער ינטואַטיוו טייַטש ווען אין די פֿאַר שלייף שפּעטער אויף מיר דעמאָלט זאָגן, איך איז ווייניקער ווי דעק גרייס. עס נאָר מיינט בעסער ווי געזאגט 52. איצט דעם טוט אַקטשאַוואַלי פאַרריכטן די פּראָבלעם. עס טוט געבן עטלעכע סימבאָליש טייַטש צו די קעסיידערדיק. אבער עס טוט סאָרט פון אַקטשאַוואַלי פאָרשטעלן אן אנדער פּראָבלעם אַז זאל ניט זיין מיד קלאָר. אַפֿילו אויב דעם בייַטעוודיק איז דערקלערט גלאָבאַללי-- טאָן איר צוריקרופן וואָס עס מיטל ווען מיר דערקלערן אַ בייַטעוודיק גלאָובאַלי קעגן לאָוקאַלי? אַפֿילו אויב מיר דערקלערן אַ בייַטעוודיק גלאָובאַלי, וואָס אויב עס ס אן אנדער פֿונקציע אין אונדזער סוויט פון פֿעיִקייטן וואָס האַנדלען מיט קאָרט מאַניפּיאַליישאַן אַז ינאַדווערטאַנטלי ענדערונגען דעק גרייס, אָדער עס ינקריסאַז עס דורך 1 אָדער דיקריסיז עס דורך 1. אַז קען רעגע קאָנפליקט, רעכט? ספּעציעל אויב מיר ניטאָ דילינג מיט אַ סכום פון קאַרדס ווו שופפלינג די פול דעק איז required. אויב דעק גרייס איז דיקריסט דורך 1, למשל, צו 51, מיר ניטאָ ניט אַקטשאַוואַלי שופפלינג אַלע די קאַרדס עפשער. מיר ניטאָ געלאזן איינער פון זיי אויס. און אַז ווערט קען עפשער זיין פּרעדיקטעד אָדער עקספּלויטאַד דורך אַ שלעכט אַקטיאָר. C גיט וואָס ס גערופֿן אַ פּרעפּראָסעססאָר דירעקטיוו, וואָס איז אויך באקאנט ווי אַ מאַקראָו פֿאַר קריייטינג סימבאָליש קאַנסטאַנץ. און אין פאַקט, איר ווע שוין געזען אַ פּרעפּראָסעססאָר דירעקטיוו, אַפֿילו אויב איר האָבן ניט געהערט עס גערופֿן אַז מיט #ינקלודע. עס ס אנדערן בייַשפּיל פון אַ מאַקראָו אָדער פּרעפּראָסעססאָר דירעקטיוו. די וועג צו מאַכן סימבאָליש קאַנסטאַנץ, אָדער געבן אַ נאָמען צו אַ קעסיידערדיק אַזוי אַז עס האט מער טייַטש, איז ווי גייט. #דעפינע, נאָמען, פאַרבייַט. טאַקע וויכטיק באַזונדער דאָ טאַקע שנעל. צי ניט שטעלן אַ פּינטל-קאָמע ביי דער סוף פון דיין #דעפינעס. אַזוי עס ס #דעפינע, נאָמען, פאַרבייַט. ווען דיין פּראָגראַם איז קאָמפּילעד, וואָס אַקטשאַוואַלי כאַפּאַנז איז די קאַמפּיילער אויב געגאנגען צו גיין דורך אייער קאָד און פאַרבייַטן יעדער בייַשפּיל פון די וואָרט "נאָמען" מיט וועלכער איר שטעלן ווי פאַרבייַט. אַנאַלאָגאָוסלי, אויב #ינקלודע איז סאָרט פון ענלעך צו קאַפּיינג און פּאַסטינג, דעמאָלט #דעפינע איז סאָרט פון ענלעך צו געפֿינען און פאַרבייַטן, אויב איר ווע אלץ געניצט אַז שטריך אין אַ וואָרט פּראַסעסינג פּראָגראַם, פֿאַר משל. אַזוי פֿאַר בייַשפּיל, אויב איך #דעפינע פּי ווי 3.14159265, אויב איר ניטאָ בעסער מאַטאַמאַטיקלי גענייגט און איר פּלוצלינג זען 3.14159265 פליענדיק אַרום אין דיין קאָד, איר מיסטאָמע וויסן עס ס גערעדט וועגן פּי. אבער אפֿשר מיר קענען געבן עס אַ ביסל מער סימבאָליש טייַטש. און מיר קענען אַנשטאָט זאָגן #דעפינע פּי ווי אַז מאָוטהפול פון נומערן וואָס איך בין נישט געגאנגען צו האַלטן לייענען איבער און איבער. און וואָס ס געגאנגען צו פּאַסירן דעמאָלט אין צונויפנעמען צייַט איז ווען די פּראָגראַם איז קאָמפּילעד, דער ערשטער זאַך אַז וועט פּאַסירן איז עס וועט גיין דורך און עס וועט פאַרבייַטן יעדער מאָל עס זעט הויפּטשטאָט פּ, הויפּטשטאָט איך, עס וועט ממש פאַרבייַטן עס מיט 3.14 און אַזוי אויף, אַזוי אַז איר טאָן ניט האָבן צו טיפּ עס יעדער צייַט בשעת דיין פּראָגראַם נאָך האט די פונקטיאָנאַליטי אַז איר דערוואַרטן, ווייַל איר ניטאָ ארבעטן מיט מאַניפּיאַלייטינג, מאַלטאַפּלייינג, דיוויידינג, וועלכער עס איז דורך פּי. איר זענט נישט באגרענעצט צו דעם סאַבסטיטושאַן פֿאַר נומערן נאָר. לעמאָשל, איך קען #דעפינע קורס ווי די שטריקל קס50. אין דעם פאַל, ווען דער פּראָגראַם איז קאָמפּילעד, #דעפינע וועט גיין דורך די קאָד, פאַרבייַטן יעדער מאָל עס זעט "קורס" מיט די שטריקל קס50. איר וועט באַמערקן דאָ אויך אַז איך אָפט #דעפינע אַלע מיין Defined סימבאָליש קאַנסטאַנץ, אַזוי צו רעדן, זענען שטענדיק אין אַלע קאַפּס. עס ס אַ זאַמלונג. עס ס ניט required. די סיבה בכלל מענטשן וועט נוצן אַלע קאַפּיטאַלז ווען זיי ניטאָ #דעפינינג איז נאָר צו מאַכן עס טאַקע קלאָר אַז דעם באַזונדער עלעמענט פון מיין קאָד איז אַ Defined קעסיידערדיק. אויב עס איז געווען לאָווערקאַסע, עס ס מעגלעך אַז עס זאל זיין צעמישט מיט אַ בייַטעוודיק. און אַז ס מיסטאָמע ניט אַ גוט זאַך צו טאָן. אזוי דעם באַזונדער לייזונג איז פיל בעסער ווי יעדער פון די פֿריִערדיקע אָנעס. אויב איך ערשטער #דעפינע דעק גרייס 52, דעמאָלט איצט מיין נוצן פון 52, אָדער דעק גרייס דאָ, איז אַ פּלאַץ מער ינטואַטיוו, און אַ פּלאַץ סאַפער. איר קענען נישט מאַניפּולירן אַ קעסיידערדיק. איר קענען נישט זאָגן 52 פּלוס פּלוס. אַז ס ניט געגאנגען צו גער עס צו 53. איר קענען נישט טוישן 52 צו עפּעס. איר קענען טוישן אַ בייַטעוודיק וועמענס ווערט איז 52, וואָס איז געווען דער ערשטער פאַרריכטן מיר האבן פריער. און איר קען פאַרגרעסערן אַז בייַטעוודיק צו 53. אבער איר קענען נישט זאָגן 52 פּלוס פּלוס און האָבן אַז פּלוצלינג אומקערן 52 אין 53. 52 איז שטענדיק 52. און אַזוי איר קענען ניט ינאַדווערטאַנטלי טוישן דעק גרייס דאָ דורך מאַניפּיאַלייטינג עס, אן אנדער גוט זייַט ווירקונג פון דעם כאָטש איז וואָס זענען איר אַווער אַז ניט אַלע לענדער אַרום די וועלט נוצן אַ שאַסל פון גרייס 52? לעמאָשל, עס ס טאַקע פּראָסט אין דייטשלאנד צו נוצן אַ דעק גרייס פון 32, ווו זיי פּאַס אויס עטלעכע דער נידעריקער ווערט קאַרדס. און אין דעם פאַל, איך געוואלט צו פּאָרט מיין סוויט פון פֿעיִקייטן אַז האַנדלען מיט קאָרט מאַניפּיאַליישאַן צו דייטשלאנד. איך קען אין דער ערשטער בייַשפּיל מיר געוויזן, האָבן צו גיין און פאַרבייַטן אַלע ינסטאַנסיז פון 52 אין מיין קאָד מיט 32. אבער דאָ, אויב איך #דעפינע דעק גרייס ווי 32 אין דער זייער שפּיץ פון מיין קאָד, אויב איך דאַרפֿן צו טוישן עס, איך קענען נאָר גיין און טוישן אַז איין זאַך. רעקאָמפּילע מיין קאָד, און אַלע פון אַ פּלוצעמדיק עס פּראָפּאַגאַטעס דורך. אין פאַקט, מיר קענען טוישן דעק גרייס צו קיין ווערט מיר ווילן. קענען איך אינטערעס איר אין אַ שפּיל פון דעק גרייס פּיקאַפּ? איך בין דאַג לויד. און דעם איז קס50.