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

25
ทำไมการใช้ alloca () จึงไม่ถือว่าเป็นแนวปฏิบัติที่ดี?
alloca()malloc()หน่วยความจำที่จัดสรรในกองมากกว่าในกองเช่นในกรณีของ ดังนั้นเมื่อฉันกลับจากรูทีนหน่วยความจำจะถูกปล่อยให้เป็นอิสระ ดังนั้นที่จริงแล้วสิ่งนี้แก้ปัญหาของฉันในการเพิ่มหน่วยความจำที่จัดสรรแบบไดนามิก การเพิ่มจำนวนของหน่วยความจำที่จัดสรรผ่านmalloc()นั้นเป็นเรื่องที่น่าปวดหัวอย่างมากและหากพลาดไปก็จะทำให้เกิดปัญหาหน่วยความจำทุกประเภท ทำไมการใช้งานalloca()ท้อแท้ทั้งๆที่มีคุณสมบัติข้างต้น?
400 c  stack  malloc  allocation  alloca 

3
วิธีที่แปลกประหลาดในการจัดสรรอาร์เรย์สองมิติ?
ในโครงการมีใครบางคนผลักดันบรรทัดนี้: double (*e)[n+1] = malloc((n+1) * sizeof(*e)); ซึ่งคาดว่าจะสร้างอาร์เรย์สองมิติของ (n + 1) * (n + 1) เป็นสองเท่า คาดคะเนผมพูดเพราะเพื่อให้ห่างไกลไม่มีใครฉันถามจะบอกฉันว่านี้ไม่ว่าหรือที่มันมาจากหรือทำไมมันควรจะทำงาน (ซึ่งถูกกล่าวหาว่ามันไม่ แต่ฉันยังไม่ได้ซื้อมัน) บางทีฉันอาจพลาดบางอย่างที่ชัดเจน แต่ฉันจะขอบคุณถ้ามีใครสามารถอธิบายข้างต้นให้ฉัน เพราะโดยส่วนตัวแล้วฉันจะรู้สึกดีขึ้นมากถ้าเราจะใช้สิ่งที่เราเข้าใจจริงๆ


11
อาร์เรย์แบบคงที่เทียบกับอาร์เรย์แบบไดนามิกใน C ++
อะไรคือความแตกต่างระหว่างอาร์เรย์แบบคงที่และอาร์เรย์แบบไดนามิกใน C ++? ฉันต้องทำงานให้กับชั้นเรียนของฉันและมันบอกว่าห้ามใช้อาร์เรย์แบบคงที่มีเพียงอาร์เรย์แบบไดนามิกเท่านั้น ฉันดูในหนังสือและออนไลน์แล้ว แต่ดูเหมือนจะไม่เข้าใจ ฉันคิดว่าคงถูกสร้างขึ้นในเวลาคอมไพล์และไดนามิกที่รันไทม์ แต่ฉันอาจเข้าใจผิดเกี่ยวกับการจัดสรรหน่วยความจำ คุณสามารถอธิบายความแตกต่างระหว่างอาร์เรย์แบบคงที่และอาร์เรย์แบบไดนามิกใน C ++ ได้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.