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

1
เหตุใด C ++ ไม่มีคำหลัก“ บริสุทธิ์” สำหรับฟังก์ชันเสมือนจริง
ฉันสงสัยอยู่เสมอว่าทำไมเราถึงโค้ด virtual void MyFunction() = 0; และไม่ pure virtual void MyFunction(); มีการอ้างอิงสำหรับพื้นฐานของการตัดสินใจนี้หรือไม่?

13
คำหลักที่ไม่ตรงตามตัวพิมพ์ใหญ่และเล็กในภาษา [ปิด]
เรากำลังพยายามเขียนภาษาสคริปต์ที่กำหนดเอง มีคำแนะนำในการทำให้ภาษานั้นให้อภัยด้วยการให้คำสำคัญที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ โดยส่วนตัวฉันไม่ชอบความคิด แต่มีบางคนในทีมของฉันที่โน้มตัวเข้าหามันบอกว่ามันจะทำให้ผู้ใช้มีความสุข! ตัวอย่างของภาษาเช่น FORTRAN, BASIC, SQL นั้นถูกระบุว่าเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ นี่เป็นความคิดที่ดีหรือไม่?

5
อะไรคือการใช้งานจริงของโมดิฟายเออร์“ ใหม่” ใน C # เกี่ยวกับการซ่อน?
เพื่อนร่วมงานและฉันกำลังดูพฤติกรรมของnewคำหลักใน C # ตามที่ใช้กับแนวคิดของการซ่อน จากเอกสาร : ใช้โมดิฟายเออร์ใหม่เพื่อซ่อนสมาชิกที่สืบทอดจากคลาสพื้นฐานอย่างชัดเจน ในการซ่อนสมาชิกที่สืบทอดให้ประกาศในคลาสที่ได้รับโดยใช้ชื่อเดียวกันและแก้ไขด้วยตัวดัดแปลงใหม่ เราได้อ่านเอกสารแล้วและเราเข้าใจว่ามันใช้ทำอะไรและทำอย่างไร สิ่งที่เราไม่สามารถจัดการได้จริงๆคือทำไมคุณต้องทำตั้งแต่แรก โมดิฟายเออร์มีมาตั้งแต่ปี 2003 และเราทั้งคู่ทำงานกับ. Net มานานกว่านั้นและไม่เคยเกิดขึ้นมาก่อน พฤติกรรมนี้จำเป็นต้องใช้ในทางปฏิบัติเมื่อใด (เช่น: นำไปใช้กับกรณีธุรกิจ) นี่เป็นคุณสมบัติที่ใช้งานได้นานกว่าประโยชน์หรือเป็นสิ่งที่ผิดปกติมากพอในสิ่งที่เราทำ (โดยเฉพาะเราทำเว็บฟอร์มและแอปพลิเคชั่น MVC และ WinForms และ WPF) ในการลองใช้คำหลักนี้และเล่นกับมันเราพบว่ามีพฤติกรรมบางอย่างที่ทำให้มันดูอันตรายเล็กน้อยหากใช้ผิดวัตถุประสงค์ สิ่งนี้ฟังดูเปิดกว้างเล็กน้อย แต่เรากำลังมองหากรณีการใช้งานเฉพาะที่สามารถนำไปใช้กับแอปพลิเคชันธุรกิจที่พบว่าเครื่องมือนี้มีประโยชน์โดยเฉพาะ
21 c#  keywords 


5
การใช้คำสำคัญ“ การใช้” ในอินเตอร์เฟซ C #
เมื่อฉันใช้ C # เพื่อเขียนโค้ดบางส่วนและฉันกำหนดอินเทอร์เฟซโดยใช้ Visual Studio 2010 จะมีคำสั่ง "ใช้" จำนวนมาก (ดังแสดงในตัวอย่าง) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestEngine.TestNameSpace { interface ITest1 { bool testMethod(int xyz); } } ฉันสงสัยว่าสิ่งเหล่านี้มีไว้เพื่ออะไรและหากจำเป็นจริงๆ ฉันจะออกไปได้ไหม? จำเป็นหรือไม่เมื่อฉันใช้ส่วนเหล่านั้นในคำอธิบายส่วนต่อประสานของฉัน

2
ทำไมคำหลักที่น่าเกลียดใน C11
ฉันกำลังอ่านร่างของข้อกำหนด C11 คำหลักที่แนะนำใหม่: ทุกคนรู้สึกเหมือนส่วนขยายที่กำหนดเองแทนที่จะใช้คำหลักที่สงวนมาตรฐานชอบ_Bool, _Alignof, _Atomicstruct, union, int ฉันรู้ว่ามาตรฐานโดยทั่วไปประกอบด้วยส่วนขยายมาตรฐาน ... แต่ถึงกระนั้นนี่มันแย่มาก! บางทีเราอาจจะจบลงด้วยการ__Long_Long_Reallylong_Integer_MSVC_2020_tคืบคลานในมาตรฐาน! ความเข้ากันได้แบบย้อนกลับของรหัสที่ไม่เป็นมาตรฐานเป็นเพียงเหตุผลเดียวของรูปแบบใหม่ของคำหลักหรือไม่
15 c  keywords 

2
ตอนนี้ไม่ใช่ว่าการประกาศเมธอดทั้งหมดใน Java Interface นั้นเป็นนามธรรมสาธารณะควรจะประกาศเมธอดด้วยตัวดัดแปลงเหล่านี้หรือไม่?
เริ่มต้นด้วย Java 8 defaultมีการนำวิธีการมาใช้ในอินเตอร์เฟส ได้อย่างมีประสิทธิภาพที่นี้หมายถึงว่าไม่ทุกวิธีการในการให้มีinterfaceabstract เริ่มต้นด้วย Java 9 (อาจ) privateวิธีการจะได้รับอนุญาต ซึ่งหมายความว่าไม่ทุกวิธีการในการให้มีinterfacepublic abstract คำถาม "ควรประกาศวิธีการในส่วนต่อประสาน Java โดยมีหรือไม่มีpublicตัวแก้ไขการเข้าถึงหรือไม่" ถูกถามที่ Stack Overflow ที่/programming/161633/should-methods-in-a-java-interface-be-declared-with-or-without-a-public-access-m คำตอบส่วนใหญ่แย้งว่าpublic abstractไม่ควรใช้เพราะไม่มีวิธีการใดที่interfaceสามารถเป็นอย่างอื่นpublic abstractได้ นี่ไม่ใช่กรณีอีกต่อไป ดังนั้นด้วยคุณสมบัติใหม่ของอินเทอร์เฟซเหล่านี้ควรใช้public abstractคีย์เวิร์ดในการประกาศเมธอดของอินเตอร์เฟส Java หรือไม่? ในสภาพแวดล้อมเฉพาะของฉันเราจะมีคนที่มีประสบการณ์วิศวกรซอฟต์แวร์ แต่ไม่เคยมีประสบการณ์ใน Java อ่านโค้ด Java เป็นครั้งคราว ฉันรู้สึกว่าการละทิ้งpublic abstractคำหลักจะสร้างจุดสับสนเพิ่มเติมสำหรับผู้ที่ไม่คุ้นเคยกับประวัติว่าอินเตอร์เฟสมีกฎแตกต่างกันสำหรับการใช้คำหลักเหล่านี้อย่างไร

2
เพราะเหตุใดคำหลัก 'out' จึงถูกใช้ในบริบทที่แตกต่างกันสองดูเหมือน
ใน C # outคำหลักสามารถใช้ได้สองวิธีที่ต่างกัน เป็นโมดิฟายเออร์พารามิเตอร์ที่อาร์กิวเมนต์ถูกส่งผ่านโดยการอ้างอิง class OutExample { static void Method(out int i) { i = 44; } static void Main() { int value; Method(out value); // value is now 44 } } ในฐานะที่เป็นตัวปรับแต่งพารามิเตอร์ชนิดเพื่อระบุความแปรปรวน // Covariant interface. interface ICovariant<out R> { } // Extending covariant interface. interface IExtCovariant<out R> : …

5
คีย์เวิร์ดการลงทะเบียนจะมีประโยชน์จริงใน C เมื่อใด
ฉันกำลังสับสนเกี่ยวกับการใช้registerคำหลักใน C. มันจะบอกกันโดยทั่วไปว่าการใช้งานไม่จำเป็นต้องเหมือนในคำถามนี้ใน StackOverflow คำหลักนี้ซ้ำซ้อนทั้งหมดใน C เนื่องจากคอมไพเลอร์สมัยใหม่หรือมีสถานการณ์ที่ยังคงมีประโยชน์หรือไม่ ถ้าใช่มีสถานการณ์อะไรบ้างที่การใช้registerคำหลักมีประโยชน์จริง ๆ
10 c  keywords 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.