คำถามติดแท็ก variable-declaration

13
ตัวชี้ C ไปยังอาเรย์ / อาเรย์ของตัวชี้ความเข้าใจผิด
ความแตกต่างระหว่างการประกาศต่อไปนี้คืออะไร: int* arr1[8]; int (*arr2)[8]; int *(arr3[8]); กฎทั่วไปในการทำความเข้าใจการประกาศที่ซับซ้อนมากขึ้นคืออะไร?

4
เมื่อใดที่จะใช้ extern ใน C ++
ฉันกำลังอ่าน "คิดใน C ++" และมันเพิ่งเปิดตัวการexternประกาศ ตัวอย่างเช่น: extern int x; extern float y; ฉันคิดว่าฉันเข้าใจความหมาย (ประกาศโดยไม่มีคำจำกัดความ) แต่ฉันสงสัยว่ามันจะมีประโยชน์เมื่อใด บางคนสามารถให้ตัวอย่างได้หรือไม่?

14
เป็นไปได้หรือไม่ที่จะประกาศตัวแปรโดยไม่ต้องกำหนดค่าใด ๆ ใน Python?
เป็นไปได้ไหมที่จะประกาศตัวแปรใน Python เช่น: var เพื่อที่จะเริ่มต้นเป็นไม่มี ดูเหมือนว่า Python จะอนุญาตสิ่งนี้ แต่ทันทีที่คุณเข้าถึงมันจะเกิดปัญหา เป็นไปได้ไหม ถ้าไม่ทำไม แก้ไข: ฉันต้องการทำสิ่งนี้สำหรับกรณีเช่นนี้: value for index in sequence: if value == None and conditionMet: value = index break ซ้ำ ค่าเริ่มต้นใน python (โดยผู้เขียนคนเดียวกัน) มีคำค้นหาที่ประกาศใน Python หรือไม่? (โดยผู้เขียนคนเดียวกัน) ที่เกี่ยวข้อง Python: ขอบเขตตัวแปรและการเรียกใช้ฟังก์ชัน ภาษาอื่นมี "ตัวแปร"

6
การประกาศตัวแปรภายในลูปการฝึกฝนที่ดีหรือการฝึกฝนที่ไม่ดี?
คำถาม # 1: การประกาศตัวแปรภายในลูปเป็นแนวปฏิบัติที่ดีหรือไม่ดีหรือไม่? ฉันได้อ่านเธรดอื่น ๆ เกี่ยวกับว่ามีปัญหาเรื่องประสิทธิภาพหรือไม่ (ส่วนใหญ่บอกว่าไม่มี) และคุณควรประกาศตัวแปรใกล้เคียงกับที่จะใช้งาน สิ่งที่ฉันสงสัยคือควรหลีกเลี่ยงสิ่งนี้หรือไม่หรือเป็นที่ต้องการจริง ตัวอย่าง: for(int counter = 0; counter <= 10; counter++) { string someString = "testing"; cout << someString; } คำถาม # 2:คอมไพเลอร์ส่วนใหญ่รู้หรือไม่ว่ามีการประกาศตัวแปรแล้วและข้ามส่วนนั้นหรือไม่หรือมันสร้างจุดในหน่วยความจำทุกครั้งหรือไม่

5
ฉันสามารถประกาศและกำหนดตัวแปรใน VBA พร้อมกันได้หรือไม่
ฉันใหม่กับ VBA และต้องการทราบว่าฉันสามารถแปลงการประกาศและการมอบหมายต่อไปนี้เป็นหนึ่งบรรทัด: Dim clientToTest As String clientToTest = clientsToTest(i) หรือ Dim clientString As Variant clientString = Split(clientToTest)

8
ทำไมตัวแปรบางตัวที่ประกาศโดยใช้การอนุญาตภายในฟังก์ชันมีให้ในอีกฟังก์ชันหนึ่งในขณะที่ตัวแปรอื่น ๆ ส่งผลให้เกิดข้อผิดพลาดในการอ้างอิง
ฉันไม่สามารถเข้าใจได้ว่าทำไมตัวแปรต่าง ๆ จึงแปลกประหลาดเมื่อถูกประกาศภายในฟังก์ชั่น ในfirstฟังก์ชั่นฉันประกาศด้วยletตัวแปรbและcด้วยค่า10 : b = c = 10; ในsecondฟังก์ชั่นที่ฉันแสดง: b + ", " + c และสิ่งนี้แสดงให้เห็นว่า: 10, 10 ในfirstฟังก์ชั่นฉันประกาศaด้วยค่า10 : let a = b = c = 10; แต่ในsecondฟังก์ชั่นมันแสดงข้อผิดพลาด: ไม่พบตัวแปร: a ตอนนี้ในfirstฟังก์ชันฉันประกาศdด้วยค่า20 : var d = 20; แต่ในsecondฟังก์ชั่นจะแสดงข้อผิดพลาดเหมือนเดิม แต่มีตัวแปรd: ไม่พบตัวแปร: d ตัวอย่าง: function first() { let a = …

13
มีค่าใช้จ่ายในการประกาศตัวแปรภายในลูปหรือไม่? (C ++)
ฉันแค่สงสัยว่าจะมีการสูญเสียความเร็วหรือประสิทธิภาพหรือไม่หากคุณทำสิ่งนี้: int i = 0; while(i < 100) { int var = 4; i++; } ซึ่งประกาศint varหนึ่งร้อยครั้ง สำหรับฉันดูเหมือนว่าจะมี แต่ฉันไม่แน่ใจ การทำสิ่งนี้แทนจะทำได้จริงหรือเร็วกว่านี้หรือไม่: int i = 0; int var; while(i < 100) { var = 4; i++; } หรือเหมือนกันอย่างรวดเร็วและมีประสิทธิภาพ?


7
“ var FOO = FOO || คืออะไร {}” (กำหนดตัวแปรหรือวัตถุว่างให้กับตัวแปรนั้น) หมายถึงใน Javascript?
เมื่อดูซอร์สโค้ดออนไลน์ฉันพบสิ่งนี้ที่ด้านบนของไฟล์ต้นฉบับหลาย ๆ ไฟล์ var FOO = FOO || {}; FOO.Bar = …; แต่ฉันไม่รู้ว่า|| {}จะทำอย่างไร ฉันรู้ว่า{}มีค่าเท่ากับnew Object()และฉันคิดว่า||มีไว้สำหรับบางสิ่งเช่น "ถ้ามีอยู่แล้วให้ใช้ค่าอื่นให้ใช้วัตถุใหม่ เหตุใดฉันจึงเห็นสิ่งนี้ที่ด้านบนของไฟล์ต้นฉบับ

5
การประกาศตัวแปร Python
กำลังเรียนรู้Pythonและมีข้อสงสัยเบื้องต้น 1. ฉันเห็นการประกาศตัวแปร (เส้นทางที่นี่) เป็น class writer: path = "" บางครั้งไม่มีการประกาศอย่างชัดเจน __init__แต่เริ่มต้นผ่าน def __init__(self, name): self.name = name ฉันเข้าใจจุดประสงค์__init__แต่แนะนำให้ประกาศตัวแปรในฟังก์ชันอื่น ๆ หรือไม่ 2. ฉันจะสร้างตัวแปรเพื่อเก็บประเภทที่กำหนดเองได้อย่างไร class writer: path = "" # string value customObj = ??

2
การกระโดดข้ามการกำหนดค่าเริ่มต้นของตัวแปรไม่ถูกต้องหรือทำให้เกิดพฤติกรรมที่ไม่ได้กำหนดหรือไม่?
พิจารณารหัสนี้: void foo() { goto bar; int x = 0; bar: ; } GCC และ Clang ปฏิเสธเนื่องจากการข้ามไปยังการbar:ข้ามการกำหนดค่าเริ่มต้นของตัวแปร MSVC ไม่บ่นเลย (ยกเว้นการใช้xหลังจากbar:ทำให้เกิดการเตือน) เราสามารถทำสิ่งเดียวกันด้วยswitch: void foo() { switch (0) { int x = 0; case 0: ; } } ตอนนี้ทั้งสามคอมไพเลอร์ปล่อยข้อผิดพลาด ตัวอย่างเหล่านั้นไม่ดีหรือไม่ หรือพวกเขาทำให้ UB? ฉันเคยคิดว่าทั้งสองรูปแบบไม่ดี แต่ฉันไม่สามารถหาส่วนที่น่ารำคาญของมาตรฐาน [stmt.goto]ไม่ได้พูดอะไรเกี่ยวกับเรื่องนี้และไม่ไม่[stmt.select]
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.