คำถามติดแท็ก c++

C ++ เป็นภาษาโปรแกรมทั่วไป เดิมได้รับการออกแบบให้เป็นส่วนขยายของ C และมีไวยากรณ์ที่คล้ายกัน แต่ตอนนี้มันเป็นภาษาที่แตกต่างอย่างสิ้นเชิง ใช้แท็กนี้สำหรับคำถามเกี่ยวกับรหัส (จะ) คอมไพล์ด้วยคอมไพเลอร์ C ++ ใช้แท็กเฉพาะรุ่นสำหรับคำถามที่เกี่ยวข้องกับการแก้ไขมาตรฐานเฉพาะ [C ++ 11], [C ++ 14], [C ++ 17] หรือ [C ++ 20] เป็นต้น

5
C # เทียบเท่าเวกเตอร์ C ++ ที่มีหน่วยความจำติดกัน?
C # เทียบเท่าเวกเตอร์ C ++ คืออะไร ฉันกำลังค้นหาคุณสมบัตินี้: เพื่อให้มีอาร์เรย์แบบไดนามิกของหน่วยความจำที่จัดเก็บอย่างต่อเนื่องซึ่งไม่มีการลงโทษด้านประสิทธิภาพสำหรับการเข้าถึงกับอาร์เรย์มาตรฐาน ฉันกำลังค้นหาและพวกเขาก็พูดว่า.NET equivalent to the vector in C++ is the ArrayList: ArrayList มีคุณสมบัติหน่วยความจำที่ต่อเนื่องกันหรือไม่?
87 c#  c++  vector 

5
คุณ 'realloc' ใน C ++ ได้อย่างไร?
ฉันจะreallocอยู่ใน C ++ ได้อย่างไร? ดูเหมือนว่าจะหายไปจากภาษา - มีnewและdeleteแต่ไม่ใช่resize! ฉันต้องการมันเนื่องจากโปรแกรมของฉันอ่านข้อมูลมากขึ้นฉันจึงต้องจัดสรรบัฟเฟอร์ใหม่เพื่อเก็บไว้ ฉันไม่คิดว่าdeleteการใช้ตัวชี้แบบเก่าและใช้ตัวชี้newใหม่ที่ใหญ่กว่าเป็นตัวเลือกที่เหมาะสม

12
จุดใดในลูปที่ทำให้จำนวนเต็มล้นกลายเป็นพฤติกรรมที่ไม่ได้กำหนด
นี่เป็นตัวอย่างเพื่ออธิบายคำถามของฉันซึ่งเกี่ยวข้องกับโค้ดที่ซับซ้อนกว่านี้ซึ่งฉันไม่สามารถโพสต์ได้ที่นี่ #include <stdio.h> int main() { int a = 0; for (int i = 0; i < 3; i++) { printf("Hello\n"); a = a + 1000000000; } } โปรแกรมนี้มีพฤติกรรมที่ไม่ได้กำหนดบนแพลตฟอร์มของฉันเพราะaจะล้นในลูปที่ 3 นั่นทำให้โปรแกรมทั้งหมดมีพฤติกรรมที่ไม่ได้กำหนดไว้หรือหลังจากเกิดเหตุการณ์ล้นขึ้นจริงหรือไม่? คอมไพเลอร์สามารถทำงานได้หรือไม่ที่a จะล้นออกมาเพื่อให้สามารถประกาศลูปทั้งหมดโดยไม่ได้กำหนดและไม่ต้องกังวลกับการรัน printfs แม้ว่าทั้งหมดจะเกิดขึ้นก่อนที่จะล้น (ติดแท็ก C และ C ++ แม้ว่าจะแตกต่างกันเพราะฉันสนใจคำตอบสำหรับทั้งสองภาษาหากแตกต่างกัน)

8
คือ 'float a = 3.0;' คำสั่งที่ถูกต้อง?
หากฉันมีคำประกาศดังต่อไปนี้: float a = 3.0 ; เป็นข้อผิดพลาดหรือไม่? ผมอ่านในหนังสือที่3.0เป็นคุณค่าและว่าผมจะต้องระบุว่าเป็นdouble float a = 3.0fมันเป็นอย่างนั้นเหรอ?
86 c++  c++11 

5
การเริ่มต้นค่า“ int * ptr = int ()” ไม่ผิดกฎหมายอย่างไร
รหัสต่อไปนี้ (นำมาจากที่นี่ ): int* ptr = int(); คอมไพล์ใน Visual C ++ และค่าเริ่มต้นตัวชี้ เป็นไปได้อย่างไร? ฉันหมายถึงint()ให้วัตถุประเภทหนึ่งintและฉันไม่สามารถกำหนดให้intกับตัวชี้ได้ โค้ดข้างบนไม่ผิดกฎหมายได้อย่างไร?

6
เป็นไปได้อย่างไรที่จะประกาศว่าไม่มีอะไรอยู่ใน main () ใน C ++ และยังมีแอปพลิเคชันที่ใช้งานได้หลังจากการคอมไพล์
ในการให้สัมภาษณ์ฉันต้องเผชิญกับคำถามเช่นนี้: เพื่อนของคุณให้ไฟล์ซอร์สโค้ดไฟล์เดียวกับคุณซึ่งจะพิมพ์หมายเลขฟีโบนักชีบนคอนโซล โปรดทราบว่าบล็อก main () ว่างเปล่าและไม่มีข้อความใด ๆ อยู่ภายใน อธิบายว่าสิ่งนี้เป็นไปได้อย่างไร (คำใบ้: global instance!) ฉันอยากรู้เกี่ยวกับเรื่องนี้จริงๆว่าสิ่งนี้เป็นไปได้อย่างไร!
86 c++ 

2
Armadillo แก้ด้าย () ปลอดภัยหรือไม่?
ในโค้ดของฉันฉันมีลูปที่ฉันสร้างและมากกว่าระบบเชิงเส้นที่กำหนดและพยายามแก้ปัญหา: #pragma omp parallel for for (int i = 0; i < n[0]+1; i++) { for (int j = 0; j < n[1]+1; j++) { for (int k = 0; k < n[2]+1; k++) { arma::mat A(max_points, 2); arma::mat y(max_points, 1); // initialize A and y arma::vec solution = solve(A,y); …

4
เหตุใดฟังก์ชันสมาชิก const จึงสามารถแก้ไขสมาชิกข้อมูลคงที่ได้
ในC++โปรแกรมต่อไปนี้การแก้ไขสมาชิกข้อมูลแบบคงที่จากconstฟังก์ชันทำงานได้ดี: class A { public: static int a; // static data member void set() const { a = 10; } }; แต่การแก้ไขสมาชิกข้อมูลที่ไม่คงที่จากconstฟังก์ชันไม่ทำงาน: class A { public: int a; // non-static data member void set() const { a = 10; } }; เหตุใดconstฟังก์ชันสมาชิกจึงสามารถแก้ไขstaticสมาชิกข้อมูลได้

7
สามารถเรียกรหัส C ++ จาก C # ได้หรือไม่?
เป็นไปได้หรือไม่ที่จะเรียกรหัส C ++ ซึ่งอาจรวบรวมเป็นไฟล์ไลบรารีโค้ด (.dll) จากภายในภาษา. NET เช่น C # โดยเฉพาะรหัส C ++ เช่นไลบรารีเครือข่าย RakNet
86 c#  .net  c++  unmanaged  managed 

4
ฉันสามารถใช้ C ++ 11 กับ Xcode ได้หรือไม่
ฉันกำลังพิจารณาการใช้คุณสมบัติบางอย่างของ C ++ 11 (เช่นautoเช่น) ในโครงการข้ามแพลตฟอร์ม (Windows + Mac) ใน Windows Visual Studio รองรับบางส่วนของมาตรฐาน C ++ 11 ที่กำลังจะมาถึงซึ่งจะช่วยให้ฉันสามารถลดความซับซ้อนของส่วนต่างๆของฐานรหัสได้อย่างเป็นธรรมชาติดังนั้นฉันจึงสนใจที่จะเริ่มใช้คุณสมบัติเหล่านี้ แต่เท่าที่ทราบ XCode เวอร์ชันปัจจุบัน (3.2.4 + GCC 4.2) ไม่รองรับฟีเจอร์ C ++ 11 ใด ๆ เลย ฉันสามารถอัปเกรดเวอร์ชัน GCC หรือเวอร์ชัน CLang ได้หรือไม่? หรือฉันควรจะกัดลิ้นตัวเองและรอให้ Apple บรรจุเวอร์ชันใหม่ในอนาคต
86 c++  xcode  gcc  c++11  clang 

1
เหตุใด GCC จึงเตือนฉันเกี่ยวกับการล้มเหลวแม้ว่าฉันจะใช้ [[fallthrough]]
ในส่วนของโค้ดต่อไปนี้ฉันใช้[[fallthrough]]แอตทริบิวต์มาตรฐานจาก C ++ 1z เพื่อจัดทำเอกสารว่าต้องการการล่มสลาย: #include <iostream> int main() { switch (0) { case 0: std::cout << "a\n"; [[fallthrough]] case 1: std::cout << "b\n"; break; } } ด้วย GCC 7.1 โค้ดจะคอมไพล์โดยไม่มีข้อผิดพลาด อย่างไรก็ตามคอมไพเลอร์ยังคงเตือนฉันเกี่ยวกับการล่มสลาย: warning: this statement may fall through [-Wimplicit-fallthrough=] std::cout << "a\n"; ~~~~~~~~~~^~~~~~~~ ทำไม?

10
ช่วงของค่าชนิดจำนวนเต็มสามารถจัดเก็บใน C ++ ได้
สามารถunsigned long intเก็บตัวเลขหลักสิบ (1,000,000,000 - 9,999,999,999) บนคอมพิวเตอร์ 32 บิตได้หรือไม่? นอกจากนี้สิ่งที่เป็นช่วงของunsigned long int, long int, unsigned int, short int, short unsigned intและint?
86 c++  int 

7
จะอ่านทีละบรรทัดหรือไฟล์ข้อความทั้งหมดพร้อมกันได้อย่างไร?
ฉันอยู่ในบทช่วยสอนที่แนะนำไฟล์ (วิธีอ่านและเขียนจาก \ ถึงไฟล์) ก่อนอื่นนี่ไม่ใช่การบ้านนี่เป็นเพียงความช่วยเหลือทั่วไปที่ฉันกำลังมองหา ฉันรู้วิธีอ่านทีละคำ แต่ไม่รู้วิธีอ่านทีละบรรทัดหรืออ่านไฟล์ข้อความทั้งหมดอย่างไร จะเกิดอะไรขึ้นถ้าไฟล์ของฉันมี 1,000 คำ? ไม่สามารถอ่านแต่ละคำได้ ไฟล์ข้อความของฉันชื่อ (อ่าน) มีดังต่อไปนี้: ฉันชอบเล่นเกมฉันชอบอ่านหนังสือฉันมีหนังสือ 2 เล่ม นี่คือสิ่งที่ฉันทำสำเร็จแล้ว: #include <iostream> #include <fstream> using namespace std; int main (){ ifstream inFile; inFile.open("Read.txt"); inFile >> มีวิธีใดบ้างที่เป็นไปได้ในการอ่านทั้งไฟล์พร้อมกันแทนที่จะอ่านแต่ละบรรทัดหรือแยกแต่ละคำ

7
ฉันจะ“ ยกเลิกการใช้” เนมสเปซได้อย่างไร
ความหลากหลายของระบบการพัฒนาของฉัน (Codegear C ++ Builder) คือบางส่วนของส่วนหัวที่สร้างขึ้นโดยอัตโนมัติยืนยันว่ามี ... using namespace xyzzy ... ข้อความในนั้นซึ่งส่งผลกระทบต่อรหัสของฉันเมื่อฉันต้องการหรือคาดหวังน้อยที่สุด มีวิธีใดบ้างที่ฉันสามารถยกเลิก / แทนที่คำสั่ง "ใช้" ก่อนหน้านี้เพื่อหลีกเลี่ยงปัญหานี้ อาจจะ... unusing namespace xyzzy;

10
การเปลี่ยนเมทริกซ์ 4x4
ฉันกำลังมองหาตัวอย่างการใช้งานโค้ดเกี่ยวกับวิธีการสลับเมทริกซ์ 4x4 ฉันรู้ว่ามีองค์ประกอบแบบเกาส์เซียน, การสลายตัวของ LU ฯลฯ แต่แทนที่จะดูรายละเอียดฉันแค่มองหาโค้ดเพื่อทำสิ่งนี้ ภาษา C ++ ตามหลักการแล้วข้อมูลมีอยู่ในอาร์เรย์ 16 โฟลตตามลำดับคอลัมน์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.