หน้าแรก
หน้าแรก
ขอบเขตคือขอบเขตของโปรแกรมและโดยทั่วไปแล้วมีสามแห่งที่สามารถประกาศตัวแปรได้ - ภายในฟังก์ชันหรือบล็อกที่เรียกว่าตัวแปรท้องถิ่น ในนิยามของพารามิเตอร์ฟังก์ชันที่เรียกว่า พารามิเตอร์ที่เป็นทางการ นอกเหนือจากฟังก์ชันทั้งหมดที่เรียกว่าตัวแปรส่วนกลาง ตัวแปรโลคัลสามารถใช้ได้โดยคำสั่งที่อยู่ภายในฟังก์ชันห
มีสองแนวคิดแยกกันที่นี่ - ขอบเขต ซึ่งกำหนดตำแหน่งที่สามารถเข้าถึงชื่อได้ - ทั่วโลกและในพื้นที่ ระยะเวลาการจัดเก็บ ซึ่งกำหนดเมื่อตัวแปรถูกสร้างขึ้นและทำลาย - คงที่และอัตโนมัติ ขอบเขต ตัวแปรโลคัลสามารถใช้ได้โดยคำสั่งที่อยู่ภายในฟังก์ชันหรือบล็อกของโค้ดเท่านั้น ตัวแปรท้องถิ่นไม่เป็นที่รู้จักในการทำง
ขอบเขตคือขอบเขตของโปรแกรมและโดยทั่วไปแล้วมีสามแห่งที่สามารถประกาศตัวแปรได้ - ภายในฟังก์ชันหรือบล็อกที่เรียกว่าตัวแปรท้องถิ่น ในนิยามของพารามิเตอร์ฟังก์ชันที่เรียกว่าพารามิเตอร์แบบเป็นทางการ นอกฟังก์ชันทั้งหมดที่เรียกว่าตัวแปรโกลบอล ตัวแปรโลคัลสามารถใช้ได้โดยคำสั่งที่อยู่ภายในฟังก์ชันหรือบล็อกของโ
ตัวแปรแต่ละตัวใน C++ มีประเภทเฉพาะ ซึ่งจะกำหนดขนาดและเลย์เอาต์ของหน่วยความจำของตัวแปร ช่วงของค่าที่สามารถเก็บไว้ในหน่วยความจำนั้น และชุดของการดำเนินการที่สามารถนำไปใช้กับตัวแปรได้ เราประกาศตัวแปรโดยใช้สัญกรณ์ - type variableName; ประเภทอาจเป็นแบบดั้งเดิม (int, bool, float, char ฯลฯ ) ประเภทที่แจกแจ
ฟีเจอร์ C++11 ที่ Intel รองรับนั้นมีให้ใช้งานเป็นคู่มืออย่างเป็นทางการในเอกสารของพวกเขา คุณสามารถตรวจสอบคุณสมบัติเหล่านี้ได้ที่ https://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler
มีแหล่งข้อมูลมากมายบนเว็บที่สามารถช่วยให้คุณเรียนรู้ C++ ได้ ฉันพยายามรวบรวมรายชื่อแหล่งข้อมูลที่ดีที่สุดในการเรียนรู้ C++ ที่รวบรวมไว้ให้คุณแล้ว - https://www.tutorialspoint.com/cplusplus/ - นี่เป็นสถานที่ที่ยอดเยี่ยมในการเรียนรู้ C++ เนื่องจากครอบคลุมหัวข้อพื้นฐานและระดับกลางเกือบทั้งหมดใน C++ เ
มีแหล่งข้อมูลมากมายบนเว็บที่สามารถช่วยให้คุณเรียนรู้ C++ ได้ ฉันพยายามรวบรวมรายชื่อแหล่งข้อมูลที่ดีที่สุดในการเรียนรู้ C++ ที่รวบรวมไว้ให้คุณแล้ว - https://www.tutorialspoint.com/cplusplus/ − นี่เป็นสถานที่ที่ยอดเยี่ยมในการเรียนรู้ C++ เนื่องจากครอบคลุมหัวข้อพื้นฐานและระดับกลางเกือบทั้งหมดใน C++ ในเ
ตามชื่อที่แนะนำ สัญลักษณ์ที่คุณประกาศไม่ได้ถูกกำหนดโดยคุณ สิ่งนี้อาจเกิดขึ้นเนื่องจากหลายกรณี เรามาดูกันดีกว่าสามคน - คุณลืมกำหนดชื่อที่ประกาศ ตัวอย่างเช่น คุณประกาศฟังก์ชันในไฟล์และใช้งานที่ไหนสักแห่ง แต่คุณไม่ได้ให้คำจำกัดความ รหัส - #include<iostream> void foo(); int main() { &n
สัญลักษณ์ &ถูกใช้เป็นตัวดำเนินการในภาษา C++ มันถูกใช้ใน 2 ตำแหน่งที่แตกต่างกัน หนึ่งเป็นบิตและโอเปอเรเตอร์ และอีกแห่งเป็นที่อยู่ตัวชี้ของโอเปอเรเตอร์ ระดับบิตและ ตัวดำเนินการระดับบิต AND (&) เปรียบเทียบแต่ละบิตของตัวถูกดำเนินการแรกกับบิตของตัวถูกดำเนินการที่สอง ถ้าทั้งสองบิตเป็น 1 บิตจะถูกตั้งค่าเป
การเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นกระบวนทัศน์การเขียนโปรแกรมตามแนวคิดของ วัตถุ ซึ่งอาจมีข้อมูลในรูปแบบของแอตทริบิวต์ และคำแนะนำในการทำสิ่งต่างๆ ในรูปแบบของวิธีการ ตัวอย่างเช่น บุคคลเป็นวัตถุที่มีคุณสมบัติบางอย่าง เช่น ส่วนสูง เพศ อายุ ฯลฯ นอกจากนี้ยังมีวิธีการบางอย่าง เช่น การเคลื่อนไหว การพูดคุย
เมื่อคุณสร้างเทมเพลตใน C++ คอมไพเลอร์จะสร้างคลาสใหม่ คลาสนี้มีสถานที่ทั้งหมดที่คุณวางอาร์กิวเมนต์เทมเพลตแทนที่ด้วยอาร์กิวเมนต์จริงที่คุณส่งผ่านเมื่อใช้ สำหรับ ตัวอย่าง − template<typename T> class MyClass { T foo; T myMethod(T arg1, T arg2) { // I
กฎสามข้อเป็นกฎง่ายๆ เมื่อใช้ C++ นี่เป็นแนวปฏิบัติที่ดีที่บอกว่าถ้าชั้นเรียนของคุณต้องการสิ่งใด ตัวสร้างการคัดลอก ผู้ดำเนินการมอบหมาย หรือผู้ทำลาย กำหนดไว้อย่างชัดเจนจึงมีแนวโน้มว่าจะต้องใช้ทั้งสามอย่าง ทำไมถึงเป็นเช่นนี้? เป็นเพราะถ้าชั้นเรียนของคุณต้องการสิ่งใดๆ ข้างต้น มันคือการจัดการทรัพยากร
เพียงเพราะเรายังไม่ถึง EOF ไม่ได้หมายความว่าการอ่านครั้งต่อไปจะสำเร็จ พิจารณาว่าคุณมีไฟล์ที่คุณอ่านโดยใช้สตรีมไฟล์ใน C++ เมื่อเขียนลูปเพื่ออ่านไฟล์ หากคุณกำลังตรวจสอบ stream.eof() แสดงว่าคุณกำลังตรวจสอบว่าไฟล์มาถึง eof แล้วหรือยัง ดังนั้นคุณจะเขียนโค้ดแบบนี้ - ตัวอย่าง #include<iostream> #inc
C++ มีไลบรารีมาตรฐานที่มีฟังก์ชันการทำงานทั่วไปที่คุณใช้ในการสร้างแอปพลิเคชันของคุณ เช่น คอนเทนเนอร์ อัลกอริธึม เป็นต้น หากชื่อที่ใช้โดยชื่อเหล่านี้ไม่เปิดเผย ตัวอย่างเช่น หากพวกเขากำหนดคลาสคิวทั่วโลก คุณจะไม่สามารถ เพื่อใช้ชื่อเดิมอีกครั้งโดยไม่มีข้อขัดแย้ง ดังนั้นพวกเขาจึงสร้างเนมสเปซ มาตรฐานเพื่อ
ให้เราดูตัวอย่างที่คุณอาจสามารถเข้าถึงหน่วยความจำของตัวแปรในเครื่องนอกขอบเขตได้ ตัวอย่าง #include<iostream> int* foo() { int x = 3; return &x; } int main() { int* address = foo(); cout << *address; *address = 12;  
จากเอกสาร MSDN - การใช้อักขระขีดล่างแบบเรียงตามลำดับ ( __ ) ที่จุดเริ่มต้นของตัวระบุ หรือเครื่องหมายขีดล่างเดียวที่นำหน้าตามด้วยตัวพิมพ์ใหญ่ สงวนไว้สำหรับการใช้งาน C++ ในทุกขอบเขต คุณควรหลีกเลี่ยงการใช้ขีดล่างนำหน้าตามด้วยอักษรตัวพิมพ์เล็กสำหรับชื่อที่มีขอบเขตไฟล์ เนื่องจากอาจขัดแย้งกับตัวระบุที่สงว
การแบ่งส่วนอ็อบเจ็กต์ใช้เพื่ออธิบายสถานการณ์เมื่อคุณกำหนดอ็อบเจ็กต์ของคลาสที่ได้รับให้กับอินสแตนซ์ของคลาสฐาน ซึ่งทำให้สูญเสียเมธอดและตัวแปรสมาชิกสำหรับอ็อบเจ็กต์คลาสที่ได้รับ นี่เรียกว่าเป็นข้อมูลที่ถูกตัดออกไป ตัวอย่างเช่น class Foo { int a; }; class Bar : public Foo { int b; }; เนื่องจ
ไม่มีวิธีที่ยอดเยี่ยมในการวนซ้ำคำของสตริง C/C++ วิธีที่อ่านง่ายที่สุดอาจเรียกได้ว่าเป็นวิธีที่สง่างามที่สุดสำหรับบางคน ในขณะที่วิธีที่มีประสิทธิภาพที่สุดสำหรับคนอื่นๆ ฉันได้ระบุ 2 วิธีที่คุณสามารถใช้เพื่อให้บรรลุสิ่งนี้ วิธีแรกคือการใช้สตริงสตรีมเพื่ออ่านคำที่คั่นด้วยช่องว่าง สิ่งนี้มีข้อ จำกัด เล็ก
มีเครื่องมือสร้างโปรไฟล์ที่ยอดเยี่ยมมากมายสำหรับการทำโปรไฟล์โปรแกรม C++ บน Linux เครื่องมือที่ใช้กันอย่างแพร่หลายคือ Valgrind เป็นเครื่องมือการเขียนโปรแกรมสำหรับการดีบักหน่วยความจำ การตรวจจับการรั่วไหลของหน่วยความจำ และการทำโปรไฟล์ คุณสามารถใช้ valgrind โดยส่งเลขฐานสองไปที่มันและตั้งค่าเครื่องมือเป็
การมอบหมายประกอบด้วย 2 ขั้นตอนที่ฉีกสถานะเก่าของวัตถุและสร้างสถานะใหม่สำหรับวัตถุนั้น ตัวทำลายจะใช้สำหรับขั้นตอนแรกและตัวสร้างการคัดลอกจะทำขั้นตอนที่สอง การดำเนินการทั้งสองอย่างตรงไปตรงมา แต่เมื่อโอเวอร์โหลดโอเปอเรเตอร์ที่ได้รับมอบหมาย อาจเป็นเรื่องยากที่จะนำไปใช้ สำนวนการคัดลอกและสลับเป็นวิธีแก้ปัญ