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

8
วิธีที่ดีที่สุดในการเริ่มต้นอาร์เรย์ (ว่าง) ใน PHP
ในบางภาษาอื่น ๆ (ตัวอย่างเช่น AS3) มีการบันทึกไว้ว่าการเริ่มต้นอาร์เรย์ใหม่นั้นจะเร็วขึ้นหากทำเช่นนี้var foo = []มากกว่าvar foo = new Array()ด้วยเหตุผลของการสร้างวัตถุและการสร้างอินสแตนซ์ ฉันสงสัยว่า PHP มีความเทียบเท่าหรือไม่ class Foo { private $arr = array(); // is there another / better way? }

14
บล็อกการเริ่มต้นคงที่
เท่าที่ฉันเข้าใจ "บล็อกการเริ่มต้นคงที่" จะใช้ในการตั้งค่าของสนามคงที่หากไม่สามารถทำได้ในหนึ่งบรรทัด แต่ฉันไม่เข้าใจว่าทำไมเราต้องมีบล็อกพิเศษสำหรับสิ่งนั้น ตัวอย่างเช่นเราประกาศเขตข้อมูลเป็นแบบคงที่ (ไม่มีการกำหนดค่า) จากนั้นเขียนโค้ดหลายบรรทัดที่สร้างและกำหนดค่าให้กับฟิลด์สแตติกที่ประกาศไว้ด้านบน ทำไมเราต้องสายนี้ในบล็อกพิเศษเช่น: static {...}?

13
การเริ่มต้นขององค์ประกอบทั้งหมดของอาร์เรย์ให้เป็นค่าเริ่มต้นหนึ่งใน C ++?
หมายเหตุ C ++: การเริ่มต้นอาร์เรย์มีรายการที่ดีเกี่ยวกับการเริ่มต้นของอาร์เรย์ ฉันมี int array[100] = {-1}; คาดหวังว่ามันจะเต็มไปด้วย -1 แต่ไม่ใช่เพียงค่าแรกคือและส่วนที่เหลือเป็น 0 ผสมกับค่าสุ่ม รหัส int array[100] = {0}; ทำงานได้ดีและตั้งค่าแต่ละองค์ประกอบเป็น 0 ฉันจะพลาดอะไรที่นี่ .. ไม่สามารถเริ่มต้นได้หากค่าไม่เป็นศูนย์? และ 2: การเริ่มต้นเริ่มต้น (ดังกล่าว) เร็วกว่าการวนซ้ำทั่วทั้งอาร์เรย์และกำหนดค่าหรือทำสิ่งเดียวกันหรือไม่?

6
ประกาศและเริ่มต้นพจนานุกรมใน typescript
รับรหัสต่อไปนี้ interface IPerson { firstName: string; lastName: string; } var persons: { [id: string]: IPerson; } = { "p1": { firstName: "F1", lastName: "L1" }, "p2": { firstName: "F2" } }; ทำไมการเริ่มต้นไม่ถูกปฏิเสธ ท้ายที่สุดวัตถุที่สองไม่มีคุณสมบัติ "นามสกุล"

9
มีความแตกต่างระหว่างการเริ่มต้นการคัดลอกและการเริ่มต้นโดยตรงหรือไม่?
สมมติว่าฉันมีฟังก์ชั่นนี้: void my_test() { A a1 = A_factory_func(); A a2(A_factory_func()); double b1 = 0.5; double b2(0.5); A c1; A c2 = A(); A c3(A()); } ในการจัดกลุ่มแต่ละข้อความเหล่านี้เหมือนกันหรือไม่ หรือมีสำเนาพิเศษ (อาจปรับให้เหมาะสม) ในการกำหนดค่าเริ่มต้นบางส่วนได้หรือไม่ ฉันเคยเห็นคนพูดทั้งสองอย่าง โปรดอ้างอิงข้อความเป็นหลักฐาน โปรดเพิ่มกรณีอื่นด้วย

6
วิธีการเรียกวิธีหลังจากการเริ่มต้นถั่วเสร็จสมบูรณ์แล้ว?
ฉันมีกรณีการใช้งานที่ฉันต้องการเรียกใช้เมธอด (แบบไม่คงที่) ใน bean เพียงครั้งเดียวที่ ApplicationContext โหลดขึ้น ไม่เป็นไรถ้าฉันใช้ MethodInvokingFactoryBean สำหรับสิ่งนี้ หรือเรามีทางออกที่ดีกว่า ในฐานะที่เป็นข้อความด้านข้างฉันใช้ ConfigContextLoaderListener เพื่อโหลด Application Context ในเว็บแอปพลิเคชัน และต้องการว่าถ้า bean 'A' ถูกสร้างอินสแตนซ์เพียงแค่เรียกเมธอด A () หนึ่งครั้ง วิธีนี้สามารถทำได้อย่างดี?

7
การเริ่มต้นตัวแปรหลายตัวให้เป็นค่าเดียวกันใน Java
ฉันกำลังมองหาวิธีที่สะอาดและมีประสิทธิภาพในการประกาศตัวแปรหลายตัวที่เป็นประเภทเดียวกันและมีค่าเท่ากัน ตอนนี้ฉันมี: String one = "", two = "", three = "" etc... แต่ฉันกำลังมองหาบางสิ่งที่ชอบ: String one,two,three = "" นี่เป็นสิ่งที่สามารถทำได้ใน java หรือไม่? การรักษาประสิทธิภาพไว้ในใจ


2
วลีต่อไปนี้หมายความว่าอย่างไรใน C ++: zero-, default- และ value-initialization
วลีต่อไปนี้หมายความว่าอย่างไรใน C ++: ศูนย์การเริ่มต้น การกำหนดค่าเริ่มต้นและ มูลค่าเริ่มต้น นักพัฒนา C ++ ควรรู้อะไรเกี่ยวกับพวกเขาบ้าง

9
Python - สร้างรายการที่มีความจุเริ่มต้น
รหัสเช่นนี้มักจะเกิดขึ้น: l = [] while foo: #baz l.append(bar) #qux สิ่งนี้ช้ามากหากคุณกำลังจะผนวกองค์ประกอบหลายพันรายการไว้ในรายการของคุณเนื่องจากรายการจะต้องมีการปรับขนาดอย่างต่อเนื่องเพื่อให้พอดีกับองค์ประกอบใหม่ ใน Java คุณสามารถสร้าง ArrayList ด้วยความจุเริ่มต้น หากคุณมีความคิดว่ารายการของคุณจะใหญ่ขนาดไหนมันจะมีประสิทธิภาพมากขึ้น ฉันเข้าใจว่ารหัสเช่นนี้มักจะถูกนำมารวมเข้ากับความเข้าใจในรายการอีกครั้ง ถ้าวนลูป for / while มีความซับซ้อนมากสิ่งนี้ไม่สามารถทำได้ มีอะไรที่เทียบเท่ากับโปรแกรมเมอร์ Python หรือไม่?

5
ข้อผิดพลาด“ องค์ประกอบเริ่มต้นไม่คงที่” เมื่อพยายามเริ่มต้นตัวแปรด้วย const
ฉันได้รับข้อผิดพลาดในบรรทัดที่ 6 (เริ่มต้น my_foo เป็น foo_init) ของโปรแกรมต่อไปนี้และฉันไม่แน่ใจว่าฉันเข้าใจว่าทำไม typedef struct foo_t { int a, b, c; } foo_t; const foo_t foo_init = { 1, 2, 3 }; foo_t my_foo = foo_init; int main() { return 0; } โปรดทราบว่านี่เป็นเวอร์ชันที่เรียบง่ายของโครงการหลายไฟล์ขนาดใหญ่ที่ฉันกำลังทำงานอยู่ เป้าหมายคือการมีค่าคงที่เดียวในไฟล์อ็อบเจ็กต์ที่หลายไฟล์สามารถใช้เพื่อเริ่มต้นโครงสร้างสถานะ เนื่องจากเป็นเป้าหมายแบบฝังที่มีทรัพยากร จำกัด และโครงสร้างไม่เล็กฉันจึงไม่ต้องการสำเนาหลายชุด ฉันไม่ต้องการใช้: #define foo_init { 1, 2, 3 } ฉันกำลังพยายามเขียนโค้ดแบบพกพาด้วยดังนั้นฉันจึงต้องการโซลูชันที่ใช้ได้กับ …
187 c  initialization 

8
วิธีการเริ่มต้นหน่วยความจำด้วยตัวดำเนินการใหม่ใน C ++
ฉันเพิ่งเริ่มเข้าสู่ C ++ และฉันต้องการรับนิสัยที่ดี หากฉันเพิ่งจัดสรรอาเรย์ประเภทที่intมีnewโอเปอเรเตอร์ฉันจะกำหนดค่าเริ่มต้นให้เป็น 0 ได้อย่างไรโดยไม่ต้องวนลูปเองทั้งหมด? ฉันควรจะเพียงแค่ใช้memset? มีวิธี“ C ++” ที่จะทำหรือไม่


4
ฉันจะทำให้ค่าเริ่มต้นสมาชิกแบบเริ่มต้นเป็นสาธารณะโดยค่าเริ่มต้นสำหรับ structs ใน Swift ได้อย่างไร
ฉันมีกรอบที่รวดเร็วที่กำหนดโครงสร้าง: public struct CollectionTO { var index: Order var title: String var description: String } อย่างไรก็ตามฉันไม่สามารถใช้ initializer ที่ชาญฉลาดของสมาชิกโดยปริยายจากโครงการอื่นที่นำเข้าห้องสมุด ข้อผิดพลาดคือ 'CollectionTO' ไม่สามารถเริ่มต้นได้เนื่องจากไม่มี initialisers ที่สามารถเข้าถึงได้ นั่นคือมันไม่ได้ให้ค่าปริยายของสมาชิกเริ่มต้นที่ฉลาดโดยใช้คำสำคัญสาธารณะ var collection1 = CollectionTO(index: 1, title: "New Releases", description: "All the new releases") ฉันต้องเพิ่มวิธีการเริ่มต้นของตัวเองเช่น: public struct CollectionTO { var index: Order var title: String var description: …

8
สมาชิกคลาส C ++ จะเริ่มต้นอย่างไรถ้าฉันไม่ทำอย่างชัดเจน?
สมมติว่าฉันได้เรียนกับ memebers ส่วนตัวptr, name, pname, rname, และcrname ageจะเกิดอะไรขึ้นถ้าฉันไม่เริ่มต้นด้วยตนเอง นี่คือตัวอย่าง: class Example { private: int *ptr; string name; string *pname; string &rname; const string &crname; int age; public: Example() {} }; จากนั้นฉันก็: int main() { Example ex; } สมาชิกจะเริ่มต้นอย่างไรในอดีต? เกิดอะไรขึ้นกับพอยน์เตอร์? ทำstringและintรับ 0-intialized กับตัวสร้างเริ่มต้นstring()และint()? สมาชิกอ้างอิงล่ะ? ยังเกี่ยวกับการอ้างอิง const? ฉันควรรู้เรื่องอะไรอีก ไม่มีใครรู้กวดวิชาที่ครอบคลุมกรณีเหล่านี้หรือไม่? บางทีในหนังสือบางเล่ม? ฉันสามารถเข้าถึงห้องสมุดของมหาวิทยาลัยเพื่อรับหนังสือ C …

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