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

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


30
ความแตกต่างระหว่างรูปแบบคงที่และรูปแบบซิงเกิล?
อะไรคือความแตกต่างที่แท้จริง (เช่นในทางปฏิบัติ) ที่มีอยู่ระหว่างคลาสแบบสแตติกและรูปแบบซิงเกิล? ทั้งสองสามารถถูกเรียกใช้โดยไม่มีการสร้างอินสแตนซ์ทั้งสองมีเพียง "อินสแตนซ์" หนึ่งรายการเท่านั้นและทั้งคู่ไม่มีความปลอดภัยต่อเธรด มีความแตกต่างอื่น ๆ อีกไหม?

19
"คงที่" หมายถึงอะไรใน C
ฉันเห็นคำที่staticใช้ในที่ต่างๆในรหัส C มันเป็นเหมือนฟังก์ชั่นแบบคงที่ / คลาสใน C # (ที่มีการใช้งานร่วมกันทั่ววัตถุ)?
1135 c  syntax  static 


19
การเพิ่ม favicon ให้กับหน้า HTML คงที่
ฉันมีหน้าสแตติกไม่กี่ที่เป็นเพียง HTML บริสุทธิ์ที่เราแสดงเมื่อเซิร์ฟเวอร์ล่ม ฉันจะวาง favicon ที่ฉันทำไว้ได้ (เป็น 16x16px และอยู่ในไดเรกทอรีเดียวกับไฟล์ HTML เรียกว่า favicon.ico) เป็นไอคอน "แท็บ" เหมือนเดิมหรือไม่ ฉันได้อ่านวิกิพีเดียแล้วและดูบทเรียนบางส่วนและได้ดำเนินการดังนี้: <link rel="icon" href="favicon.ico" type="image/x-icon"/> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/> แต่ก็ยังไม่อยากทำงาน ฉันใช้ Chrome เพื่อทดสอบเว็บไซต์ Wikipedia .ico เป็นรูปแบบภาพที่ดีที่สุดที่ทำงานบนเบราว์เซอร์ทุกประเภท ปรับปรุง ฉันไม่สามารถให้มันทำงานได้ในพื้นที่แม้ว่ารหัสจะตรวจสอบว่ามันจะทำงานได้อย่างถูกต้องเมื่อเซิร์ฟเวอร์เริ่มให้บริการเว็บไซต์ เพียงแค่พยายามผลักดันมันขึ้นไปยังเซิร์ฟเวอร์และรีเฟรชแคชของคุณและมันก็ใช้ได้ดี
641 html  static  favicon 

30
ทำไมตัวแปรแบบคงที่จึงถือว่าชั่วร้าย?
ฉันเป็นโปรแกรมเมอร์ Java ที่ยังใหม่กับโลกธุรกิจ เมื่อเร็ว ๆ นี้ฉันได้พัฒนาแอปพลิเคชันโดยใช้Groovyและ Java จากรหัสที่ฉันเขียนนั้นใช้สแตติคจำนวนค่อนข้างดี ฉันถูกล็อตเทคนิคระดับสูงขอให้ลดจำนวนสแตติคที่ใช้ ฉัน googled เกี่ยวกับเดียวกันและฉันพบว่าโปรแกรมเมอร์จำนวนมากค่อนข้างต่อต้านการใช้ตัวแปรคงที่ ฉันพบว่าตัวแปรคงที่สะดวกในการใช้ และฉันคิดว่าพวกเขามีประสิทธิภาพด้วย (โปรดแก้ไขให้ฉันถ้าฉันผิด) เพราะถ้าฉันต้องโทร 10,000 ครั้งไปยังฟังก์ชั่นหนึ่งในชั้นเรียนฉันก็ดีใจที่ทำให้วิธีนี้คงที่และใช้วิธีตรงไปตรงมาClass.methodCall()แทน ถ่วงหน่วยความจำที่มี 10,000 อินสแตนซ์ของคลาสใช่มั้ย นอกจากนี้สถิตศาสตร์ลดการพึ่งพาระหว่างกันในส่วนอื่น ๆ ของรหัส พวกเขาสามารถทำหน้าที่เป็นผู้ถือครองรัฐที่สมบูรณ์แบบ เพิ่มไปนี้ผมพบว่าสถิตจะดำเนินการกันอย่างแพร่หลายในบางภาษาเช่นSmalltalkและสกาล่า เหตุใดการกดขี่เพื่อสถิตยศาสตร์จึงเป็นที่แพร่หลายในหมู่โปรแกรมเมอร์ (โดยเฉพาะในโลกของ Java) ป.ล. : โปรดแก้ไขให้ถูกต้องหากข้อสันนิษฐานของฉันเกี่ยวกับสถิตศาสตร์นั้นไม่ถูกต้อง
635 java  static 


15
ฉันสามารถเพิ่มวิธีการขยายไปยังคลาสแบบคงที่ที่มีอยู่ได้หรือไม่
ฉันเป็นแฟนตัวยงของวิธีการขยายใน C # แต่ยังไม่เคยประสบความสำเร็จในการเพิ่มวิธีการขยายไปยังระดับคงที่เช่นคอนโซล ตัวอย่างเช่นถ้าฉันต้องการเพิ่มส่วนขยายใน Console เรียกว่า 'WriteBlueLine' เพื่อให้ฉันไปได้: Console.WriteBlueLine("This text is blue"); ฉันลองวิธีนี้โดยการเพิ่มวิธีการคงที่ในที่สาธารณะโดยใช้คอนโซลเป็นพารามิเตอร์ 'this' ... แต่ไม่มีลูกเต๋า! public static class Helpers { public static void WriteBlueLine(this Console c, string text) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(text); Console.ResetColor(); } } สิ่งนี้ไม่ได้เพิ่มวิธี 'WriteBlueLine' ลงในคอนโซล ... ฉันทำผิดหรือเปล่า หรือขอสิ่งที่เป็นไปไม่ได้?

3
ใหม่ด้วยตนเองกับใหม่คงที่
ฉันกำลังแปลงไลบรารี PHP 5.3 ให้ทำงานบน PHP 5.2 สิ่งสำคัญที่ยืนอยู่ในทางของฉันคือการใช้การเชื่อมโยงแบบคงที่ล่าช้าเช่นreturn new static($options);ถ้าฉันแปลงสิ่งนี้เป็นreturn new self($options)ฉันจะได้ผลลัพธ์เดียวกันหรือไม่ ความแตกต่างระหว่างnew selfและnew staticคืออะไร?

12
ฟังก์ชั่น "คงที่" ใน C คืออะไร?
คำถามเกี่ยวกับธรรมดา ค ฟังก์ชั่นไม่ C ++ static วิธีการดังที่อธิบายไว้ในความคิดเห็น ฉันเข้าใจว่าstaticตัวแปรคืออะไร แต่staticฟังก์ชั่นคืออะไร? และทำไมถ้าฉันประกาศฟังก์ชั่นสมมุติvoid print_matrixว่าa.c(โดยไม่มีa.h) และรวม"a.c"- ฉันจะได้รับ"print_matrix@@....) already defined in a.obj"แต่ถ้าฉันประกาศเมื่อstatic void print_matrixมันรวบรวมมัน? อัปเดตเพียงเพื่อล้างสิ่งต่าง ๆ - ฉันรู้ว่าการรวมกัน.cนั้นไม่ดีเท่าที่คุณหลายคนชี้ให้เห็น ฉันเพียงแค่ทำมันไปยังพื้นที่ที่ชัดเจนชั่วคราวmain.cจนกว่าฉันจะมีความคิดที่ดีของวิธีการทุกกลุ่มฟังก์ชั่นที่เป็นที่เหมาะสม.hและ.cไฟล์ เป็นการแก้ปัญหาชั่วคราวที่รวดเร็ว


11
เปลี่ยนฟิลด์สแตติกสุดท้ายส่วนตัวโดยใช้การสะท้อน Java
ฉันมีคลาสที่มีprivate static finalฟิลด์ที่โชคไม่ดีที่ฉันต้องเปลี่ยนมันในเวลาทำงาน ใช้การสะท้อนฉันได้รับข้อผิดพลาดนี้: java.lang.IllegalAccessException: Can not set static final boolean field มีวิธีการเปลี่ยนแปลงค่าหรือไม่? Field hack = WarpTransform2D.class.getDeclaredField("USE_HACK"); hack.setAccessible(true); hack.set(null, true);

11
สตริงคงที่คงที่ (สมาชิกคลาส)
ฉันต้องการให้ค่าคงที่ส่วนตัวสำหรับคลาส (ในกรณีนี้คือโรงงานที่มีรูปร่าง) ฉันอยากได้ของบางอย่าง class A { private: static const string RECTANGLE = "rectangle"; } น่าเสียดายที่ฉันได้รับข้อผิดพลาดทุกประเภทจากคอมไพเลอร์ C ++ (g ++) เช่น: ISO C ++ ห้ามการเริ่มต้นของสมาชิก 'RECTANGLE' การเตรียมใช้งานในคลาสที่ไม่ถูกต้องของข้อมูลสมาชิกแบบคงที่ของประเภทไม่ครบถ้วน 'std :: string' ข้อผิดพลาด: การทำให้ 'RECTANGLE' เป็นแบบคงที่ สิ่งนี้บอกฉันว่าการออกแบบสมาชิกประเภทนี้ไม่เป็นไปตามมาตรฐาน คุณมีค่าคงที่ตัวอักษรส่วนตัว (หรืออาจเป็นแบบสาธารณะ) ได้อย่างไรโดยไม่ต้องใช้ #define directive (ฉันต้องการหลีกเลี่ยงความน่าเกลียดของข้อมูลข้อมูล!) ความช่วยเหลือใด ๆ ที่ชื่นชม
445 c++  string  class  static  const 

21
คำหลัก 'คงที่' ทำอะไรในชั้นเรียน
เพื่อเป็นการเฉพาะฉันได้ลองใช้รหัสนี้: package hello; public class Hello { Clock clock = new Clock(); public static void main(String args[]) { clock.sayTime(); } } แต่มันทำให้เกิดข้อผิดพลาด ไม่สามารถเข้าถึงฟิลด์ที่ไม่คงที่ในวิธีหลักคงที่ ดังนั้นฉันจึงเปลี่ยนการประกาศของclockนี้: static Clock clock = new Clock(); และมันก็ใช้งานได้ การใส่คำหลักนั้นไว้ข้างหน้าหมายถึงอะไร? มันจะทำอะไรและ / หรือ จำกัด ในแง่ของสิ่งที่สามารถทำได้กับวัตถุนั้น?

9
ฟังก์ชั่นคงที่ vs คลาส / ตัวแปรในคลาส Swift?
โค้ดต่อไปนี้รวบรวมใน Swift 1.2: class myClass { static func myMethod1() { } class func myMethod2() { } static var myVar1 = "" } func doSomething() { myClass.myMethod1() myClass.myMethod2() myClass.myVar1 = "abc" } ความแตกต่างระหว่างฟังก์ชั่นคงที่และฟังก์ชั่นระดับคืออะไร? ฉันควรใช้อันไหนและเมื่อใด ถ้าฉันพยายามกำหนดตัวแปรอื่นclass var myVar2 = ""มันจะบอกว่า: คุณสมบัติที่จัดเก็บคลาสยังไม่ได้รับการสนับสนุนในคลาส หมายถึง 'static' หรือเปล่า? เมื่อคุณสมบัตินี้ได้รับการสนับสนุนความแตกต่างระหว่างตัวแปรคงที่และตัวแปรคลาส (เช่นเมื่อทั้งสองถูกกำหนดไว้ในคลาส) ฉันควรใช้อันไหนและเมื่อใด (Xcode 6.3)

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