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

คำหลักในภาษาการเขียนโปรแกรมต่างๆที่มีไวยากรณ์คล้ายกับหรือมาจาก C (C ++, C #, Swift, Go, Rust, ฯลฯ ) ใช้แท็กภาษาการเขียนโปรแกรมเฉพาะเพื่อติดแท็กคำถามเกี่ยวกับการใช้ `struct 'เนื่องจากไวยากรณ์และซีแมนทิกส์นั้นขึ้นอยู่กับภาษา คำหลักกำหนดหรือประกาศประเภทข้อมูลที่ประกอบด้วยประเภทข้อมูลอื่น สมาชิกของโครงสร้างแต่ละคนมีพื้นที่หน่วยความจำของตัวเอง (ตรงข้ามกับ "สหภาพ" ซึ่งสมาชิกแบ่งปันพื้นที่หน่วยความจำเดียว)

28
เมื่อใดที่ฉันควรใช้ struct แทนที่จะเป็นคลาสใน C #
เมื่อใดที่คุณควรใช้ struct และไม่ใช่คลาสใน C # รูปแบบความคิดของฉันอยู่ที่ structs จะใช้ในครั้งเมื่อมีรายการอยู่เพียงชุดของประเภทค่า วิธีที่จะทำให้พวกเขามีเหตุผลทั้งหมดเข้าด้วยกันอย่างมีเหตุผล ฉันเจอกฎเหล่านี้ที่นี่ : struct ควรแสดงถึงค่าเดียว struct ควรมี footprint หน่วยความจำน้อยกว่า 16 ไบต์ ไม่ควรเปลี่ยนแปลง struct หลังจากการสร้าง กฎเหล่านี้ทำงานอย่างไร struct หมายถึงความหมายอะไร?
1390 c#  struct 





16
ทำไมการเปลี่ยนแปลงที่ไม่แน่นอนของ“ ความชั่วร้าย”?
การติดตามการสนทนาที่นี่ดังนั้นฉันได้อ่านหลายครั้งแล้วคำพูดที่ว่าโครงสร้างที่ไม่แน่นอนเป็น "ความชั่วร้าย" (เช่นในคำตอบของคำถามนี้) ปัญหาที่เกิดขึ้นจริงกับความไม่แน่นอนและ structs ใน C # คืออะไร?

16
ทำไมต้องเลือกวางโครงสร้างบนคลาส?
การเล่นกับ Swift ที่มาจากพื้นหลัง Java ทำไมคุณต้องการเลือก Struct แทนที่จะเป็น Class ดูเหมือนว่าพวกเขาจะเป็นสิ่งเดียวกันโดยมีโครงสร้างที่เสนอฟังก์ชันการทำงานน้อยลง ทำไมต้องเลือกมัน?

14
วิธีการเตรียมใช้งาน struct ตามมาตรฐานภาษาโปรแกรม C
ฉันต้องการเริ่มต้นองค์ประกอบ struct แยกในการประกาศและการเริ่มต้น นี่คือสิ่งที่ฉันมี: typedef struct MY_TYPE { bool flag; short int value; double stuff; } MY_TYPE; void function(void) { MY_TYPE a; ... a = { true, 15, 0.123 } } นี่เป็นวิธีในการประกาศและกำหนดค่าเริ่มต้นตัวแปรท้องถิ่นMY_TYPEให้สอดคล้องกับมาตรฐานภาษาโปรแกรม C หรือไม่ (C89, C90, C99, C11 และอื่น ๆ ) หรือมีอะไรที่ดีขึ้นหรืออย่างน้อยก็ทำงานได้ดี อัปเดตฉันสิ้นสุดลงด้วยองค์ประกอบเริ่มต้นคงที่ที่ฉันตั้งทุกองค์ประกอบย่อยตามความต้องการของฉัน
466 c  struct  initialization 

25
โครงสร้างแบบ C ใน Python
มีวิธีกำหนดโครงสร้าง C-like ใน Python หรือไม่? ฉันเบื่อที่จะเขียนสิ่งต่าง ๆ เช่น: class MyStruct(): def __init__(self, field1, field2, field3): self.field1 = field1 self.field2 = field2 self.field3 = field3
447 python  struct 

30
อะไรคือความแตกต่างระหว่าง struct และ class ใน C ++?
คำถามนี้ถูกถามอยู่แล้วในบริบทของ C ตอนนี้ฉันต้องการเรียนรู้ความแตกต่างระหว่าง struct และคลาสใน C ++ โปรดอภิปรายเกี่ยวกับความแตกต่างทางเทคนิครวมถึงเหตุผลในการเลือกอย่างใดอย่างหนึ่งในการออกแบบ OO ฉันจะเริ่มต้นด้วยความแตกต่างที่ชัดเจน: หากคุณไม่ระบุpublic:หรือprivate:สมาชิกของ struct เป็นแบบสาธารณะโดยค่าเริ่มต้น สมาชิกของคลาสเป็นส่วนตัวโดยค่าเริ่มต้น ฉันแน่ใจว่ามีความแตกต่างอื่น ๆ ที่จะพบในมุมปิดบังของสเปค C ++
441 c++  oop  class  struct  c++-faq 

15
ความแตกต่างระหว่างโครงสร้างและสหภาพ
มีตัวอย่างที่ดีที่จะให้ความแตกต่างระหว่าง a structและ a unionหรือไม่? โดยทั่วไปฉันรู้ว่าstructใช้หน่วยความจำทั้งหมดของสมาชิกและunionใช้พื้นที่หน่วยความจำสมาชิกที่ใหญ่ที่สุด มีระดับความแตกต่างของระบบปฏิบัติการอื่น ๆ บ้างไหม?
411 c  struct  unions 

15
ทำไมเราควรพิมพ์ struct บ่อยครั้งใน C?
ฉันได้เห็นหลายโปรแกรมที่ประกอบด้วยโครงสร้างเช่นเดียวกับด้านล่าง typedef struct { int i; char k; } elem; elem user; ทำไมมันจำเป็นบ่อยครั้ง เหตุผลเฉพาะหรือพื้นที่ที่บังคับใช้?
406 c  struct  typedef 

3
แท็กใน Go มีประโยชน์อะไรบ้าง?
ในGo Language Specificationจะกล่าวถึงภาพรวมโดยย่อของแท็ก: การประกาศฟิลด์อาจตามด้วยแท็กตัวอักษรของสตริงซึ่งเป็นคุณสมบัติสำหรับฟิลด์ทั้งหมดในการประกาศฟิลด์ที่สอดคล้องกัน แท็กนั้นสามารถมองเห็นได้ผ่านอินเทอร์เฟซการสะท้อน แต่ไม่สนใจ // A struct corresponding to the TimeStamp protocol buffer. // The tag strings define the protocol buffer field numbers. struct { microsec uint64 "field 1" serverIP6 uint64 "field 2" process string "field 3" } นี่เป็นคำอธิบายสั้น ๆ ของ IMO และฉันสงสัยว่าใครจะให้แท็กเหล่านี้กับฉันได้บ้าง
392 go  reflection  struct 


11
ทำไมฉันไม่สามารถกำหนดนวกรรมิกเริ่มต้นสำหรับ struct ใน. NET ได้?
ใน. NET ประเภทค่า (C # struct) ไม่สามารถมีตัวสร้างที่ไม่มีพารามิเตอร์ ตามโพสต์นี้ได้รับคำสั่งจากข้อกำหนดของ CLI สิ่งที่เกิดขึ้นคือสำหรับทุกประเภทค่าตัวสร้างเริ่มต้นจะถูกสร้างขึ้น (โดยคอมไพเลอร์?) ซึ่งเริ่มต้นสมาชิกทั้งหมดให้เป็นศูนย์ (หรือnull) ทำไมมันไม่อนุญาตให้กำหนดคอนสตรัคเตอร์เริ่มต้นเช่นนี้ การใช้สิ่งเล็กน้อยสำหรับตัวเลขที่มีเหตุผล: public struct Rational { private long numerator; private long denominator; public Rational(long num, long denom) { /* Todo: Find GCD etc. */ } public Rational(long num) { numerator = num; denominator = 1; } public …
261 c#  .net  struct 

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