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

ค่าคงที่ในการเขียนโปรแกรมคือคำจำกัดความที่มีค่าคงที่ตลอดการทำงานของโปรแกรม ตัวอักษรในภาษาส่วนใหญ่เป็นค่าคงที่ตัวอย่างเช่น ในรูปแบบการเขียนโปรแกรมที่โปร่งใสอ้างอิงคำจำกัดความทั้งหมดจะคงที่ พื้นที่จัดเก็บข้อมูลที่มีคุณสมบัติครบถ้วน (ออบเจ็กต์ฟิลด์ตัวแปรพารามิเตอร์) คือพื้นที่ที่ "ไม่เคยเปลี่ยนแปลง" จึงช่วยให้สามารถเพิ่มประสิทธิภาพตัวสร้างโค้ดเพิ่มเติมและการตรวจสอบความถูกต้องของโปรแกรมแบบคงที่เพิ่มเติมได้

8
การนำเข้ารายการค่าคงที่แบบยาวไปยังไฟล์ Python
ใน Python มีอะนาล็อกของCคำสั่งพรีโปรเซสเซอร์เช่นหรือไม่: #define MY_CONSTANT 50 นอกจากนี้ฉันมีรายการค่าคงที่จำนวนมากที่ฉันต้องการนำเข้าในหลายชั้นเรียน มีอะนาล็อกของการประกาศค่าคงที่เป็นลำดับคำสั่งที่ยาวเหมือนข้างบนใน.pyไฟล์และนำเข้า.pyไฟล์อื่นหรือไม่? แก้ไข. ไฟล์Constants.pyอ่าน: #!/usr/bin/env python # encoding: utf-8 """ Constants.py """ MY_CONSTANT_ONE = 50 MY_CONSTANT_TWO = 51 และmyExample.pyอ่าน: #!/usr/bin/env python # encoding: utf-8 """ myExample.py """ import sys import os import Constants class myExample: def __init__(self): self.someValueOne = Constants.MY_CONSTANT_ONE + 1 self.someValueTwo = …

5
การลบตัวชี้ไปที่ const (T const *)
ฉันมีคำถามพื้นฐานเกี่ยวกับตัวชี้ const ฉันไม่ได้รับอนุญาตให้เรียกใช้ฟังก์ชันสมาชิกที่ไม่ใช่ const โดยใช้ตัวชี้ const อย่างไรก็ตามฉันได้รับอนุญาตให้ทำสิ่งนี้กับตัวชี้ const: delete p; สิ่งนี้จะเรียกตัวทำลายของคลาสซึ่งในสาระสำคัญคือ 'วิธีการ' ที่ไม่ใช่ const เหตุใดจึงได้รับอนุญาต เป็นเพียงการสนับสนุนสิ่งนี้หรือไม่: delete this; หรือมีเหตุผลอื่น?


6
เหตุใดโอเปอเรเตอร์ [] จึงไม่เป็นค่าคงที่สำหรับแผนที่ STL
ตัวอย่างที่เขียนขึ้นเพื่อประโยชน์ของคำถาม: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } สิ่งนี้จะไม่คอมไพล์เนื่องจาก [] ตัวดำเนินการไม่ใช่ const นี่เป็นเรื่องที่น่าเสียดายเนื่องจากไวยากรณ์ [] ดูสะอาดมาก แต่ฉันต้องทำสิ่งนี้แทน: void MyClass::MyFunction( int x ) const { MyMap iter = m_map.find(x); std::cout << iter->second << std::endl } สิ่งนี้ทำให้ฉันรู้สึกแย่เสมอ เหตุใดตัวดำเนินการ [] จึงไม่ใช่ const
90 c++  constants 

4
v8 ผลกระทบของประสิทธิภาพ JavaScript ของ const, let และ var?
โดยไม่คำนึงถึงความแตกต่างของฟังก์ชันการใช้คำหลักใหม่ "let" และ "const" มีผลกระทบโดยทั่วไปหรือเฉพาะเจาะจงใด ๆ ต่อประสิทธิภาพเมื่อเทียบกับ "var" หลังจากรันโปรแกรม: function timeit(f, N, S) { var start, timeTaken; var stats = {min: 1e50, max: 0, N: 0, sum: 0, sqsum: 0}; var i; for (i = 0; i < S; ++i) { start = Date.now(); f(N); timeTaken = Date.now() - start; …

7
const ก่อนพารามิเตอร์เทียบกับ const หลังชื่อฟังก์ชัน c ++
อะไรคือความแตกต่างระหว่างสิ่งนี้ friend Circle copy(const Circle &); และอะไรทำนองนี้ friend Circle copy(Circle&) const; ฉันรู้ว่า const หลังจากฟังก์ชันถูกใช้เพื่อบอกคอมไพเลอร์ว่าฟังก์ชันนี้จะไม่พยายามเปลี่ยนอ็อบเจ็กต์ที่เรียกใช้แล้วอีกอันล่ะ?

5
PHP - กำหนดค่าคงที่ภายในคลาส
ฉันจะกำหนดค่าคงที่ภายในคลาสได้อย่างไรและกำหนดให้มองเห็นได้เฉพาะเมื่อเรียกในบริบทของคลาส ....สิ่งที่ต้องการ Foo::app()->MYCONSTANT; (และถ้าเรียกเหมือนMYCONSTANTจะละเลย)
88 php  class  constants 

6
เหตุใดการอ้างอิงจึงไม่ใช่ "const" ใน C ++
เราทราบว่า "ตัวแปร const" บ่งชี้ว่าเมื่อกำหนดแล้วคุณจะไม่สามารถเปลี่ยนตัวแปรได้เช่นนี้: int const i = 1; i = 2; โปรแกรมด้านบนจะไม่สามารถคอมไพล์ได้ gcc แจ้งข้อผิดพลาด: assignment of read-only variable 'i' ไม่มีปัญหาฉันเข้าใจได้ แต่ตัวอย่างต่อไปนี้อยู่นอกเหนือความเข้าใจของฉัน: #include<iostream> using namespace std; int main() { boolalpha(cout); int const i = 1; cout << is_const<decltype(i)>::value << endl; int const &ri = i; cout << is_const<decltype(ri)>::value << endl; …

6
อาร์เรย์ที่ปรับเปลี่ยนได้หลากหลายที่ขอบเขตไฟล์
ฉันต้องการสร้างอาร์เรย์คงที่เพื่อใช้กับไฟล์การใช้งาน Objective-C ของฉันที่คล้ายกับสิ่งนี้ที่ระดับบนสุดของไฟล์ ".m" ของฉัน: static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; ฉันวางแผนที่จะใช้ในNUM_TYPESภายหลังในไฟล์ดังนั้นฉันจึงต้องการใส่ไว้ในตัวแปร อย่างไรก็ตามเมื่อฉันดำเนินการนี้ฉันได้รับข้อผิดพลาด "ประเภท" ที่ปรับเปลี่ยนได้หลากหลายที่ขอบเขตไฟล์ " ฉันรวบรวมว่าสิ่งนี้อาจเกี่ยวข้องกับขนาดอาร์เรย์ที่เป็นตัวแปร (ฉันไม่ได้รับข้อความนี้เมื่อฉันใส่ลิเทอรัลจำนวนเต็มเช่นstatic int types[4]) ฉันต้องการแก้ไขปัญหานี้ แต่บางทีฉันอาจจะคิดผิดทั้งหมด ... ฉันมี 2 เป้าหมายที่นี่: มีอาร์เรย์ที่สามารถเข้าถึงได้ทั่วทั้งไฟล์ ในการห่อหุ้มNUM_TYPESเป็นตัวแปรดังนั้นฉันจึงไม่มีตัวอักษรเดียวกันกระจัดกระจายอยู่ตามที่ต่างๆในไฟล์ของฉัน ข้อเสนอแนะใด ๆ ? [แก้ไข] พบสิ่งนี้ในคำถามที่พบบ่อยเกี่ยวกับ C: http://c-faq.com/ansi/constasconst.html

4
เหตุใดฟังก์ชันสมาชิก const จึงสามารถแก้ไขสมาชิกข้อมูลคงที่ได้
ในC++โปรแกรมต่อไปนี้การแก้ไขสมาชิกข้อมูลแบบคงที่จากconstฟังก์ชันทำงานได้ดี: class A { public: static int a; // static data member void set() const { a = 10; } }; แต่การแก้ไขสมาชิกข้อมูลที่ไม่คงที่จากconstฟังก์ชันไม่ทำงาน: class A { public: int a; // non-static data member void set() const { a = 10; } }; เหตุใดconstฟังก์ชันสมาชิกจึงสามารถแก้ไขstaticสมาชิกข้อมูลได้

5
คำหลัก "const" ไม่ทำให้ค่าไม่เปลี่ยนรูป หมายความว่าอย่างไร?
มีคำจำกัดความของ constในการสำรวจ ES6โดย Dr. Axel Rauschmayer: constทำงานเหมือนปล่อยให้ แต่ตัวแปรที่คุณประกาศจะต้องเริ่มต้นได้ทันทีที่มีค่าที่ไม่สามารถเปลี่ยนแปลงได้หลังจากนั้น […] const bar = 123; bar = 456; // TypeError: `bar` is read-only แล้วเขาก็เขียน หลุมพราง: const ไม่ทำให้ค่าไม่เปลี่ยนรูป const หมายความว่าตัวแปรจะมีค่าเท่ากันเสมอ แต่ไม่ได้หมายความว่าค่านั้นเป็นหรือไม่เปลี่ยนรูป ฉันสับสนเล็กน้อยกับข้อผิดพลาดนี้ มีใครสามารถกำหนดข้อผิดพลาดconstนี้ให้ชัดเจนได้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.