Latest web development tutorials
×

C++ หลักสูตร

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

C++ เชิงวัตถุ

C++ คลาสและวัตถุ C++ สืบทอด C++ ผู้ประกอบการมากเกินไปและการทำงานมากเกินไป C++ polymorphism C++ ข้อมูลที่เป็นนามธรรม C++ ข้อมูล encapsulation C++ อินเตอร์เฟซ(ระดับนามธรรม)

C++ การสอนที่ทันสมัย

C++ แฟ้มและสตรีม C++ การจัดการข้อยกเว้น C++ หน่วยความจำแบบไดนามิก C++ namespaces C++ แบบ C++ preprocessor C++ การประมวลผลสัญญาณ C++ multithreading C++ Web โครงการ

C++ กรุ

C++ STL หลักสูตร C++ ห้องสมุดมาตรฐาน C++ ทรัพยากรที่มีประโยชน์

c ++ namespace

จินตนาการสถานการณ์เมื่อมีระดับหนึ่งชื่อซาร่านักเรียนสองคนเพื่อที่จะแยกแยะความแตกต่างอย่างชัดเจนระหว่างพวกเขาเราจะใช้ชื่อที่อยู่ด้านนอกมีการใช้ข้อมูลเพิ่มเติมบางอย่างเช่นที่อยู่บ้านของพวกเขาหรือพ่อแม่ของเขา ชื่ออื่น ๆ

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

ดังนั้นการแนะนำของแนวคิดของnamespaces ที่ออกแบบมาเพื่อแก้ปัญหาดังกล่าวข้างต้นก็สามารถนำมาใช้เป็นข้อมูลเพิ่มเติมที่จะแยกแยะห้องสมุดที่แตกต่างกับฟังก์ชั่นที่มีชื่อเดียวกันเรียนตัวแปรและอื่น ๆใช้ namespace ที่กำหนดบริบท ในสาระสำคัญ namespace คือนิยามของช่วงที่

กำหนด namespaces

กำหนดnamespace คำหลัก namespace ตามด้วยชื่อของnamespace ที่ดังต่อไปนี้:

namespace namespace_name {
   // 代码声明
}

เพื่อเรียกฟังก์ชั่นหรือตัวแปรที่มี namespace คุณต้องนำหน้าด้วยชื่อของ namespace ที่ดังต่อไปนี้:

name::code;  // code 可以是变量或函数

ลองมาดูวิธีนิยาม namespace สำหรับนิติบุคคลและอื่น ๆ ที่ฟังก์ชั่นตัวแปรหรือ:

#include <iostream>
using namespace std;

// 第一个命名空间
namespace first_space{
   void func(){
      cout << "Inside first_space" << endl;
   }
}
// 第二个命名空间
namespace second_space{
   void func(){
      cout << "Inside second_space" << endl;
   }
}
int main ()
{
 
   // 调用第一个命名空间中的函数
   first_space::func();
   
   // 调用第二个命名空间中的函数
   second_space::func(); 

   return 0;
}

เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:

Inside first_space
Inside second_space

โดยใช้การเรียนการสอน

คุณสามารถใช้สั่งใช้ namespace เพื่อที่ว่าเมื่อคุณไม่สามารถใช้ใน namespace นำหน้าด้วยชื่อ namespaceคำสั่งนี้จะบอกคอมไพเลอร์ที่ว่ารหัสที่ตามมาจะใช้ชื่อ namespace ที่ระบุ

#include <iostream>
using namespace std;

// 第一个命名空间
namespace first_space{
   void func(){
      cout << "Inside first_space" << endl;
   }
}
// 第二个命名空间
namespace second_space{
   void func(){
      cout << "Inside second_space" << endl;
   }
}
using namespace first_space;
int main ()
{
 
   // 调用第一个命名空间中的函数
   func();
   
   return 0;
}

เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:

Inside first_space

โดยใช้คำแนะนำนอกจากนี้ยังอาจถูกนำมาใช้เพื่อระบุรายการที่เฉพาะเจาะจงการ namespace ตัวอย่างเช่นถ้าคุณตั้งใจจะใช้ส่วน namespace ศาล Std คุณสามารถใช้คำสั่งต่อไปนี้:

using std::cout;

รหัสที่ตามมาเมื่อมีการใช้ศาลคุณไม่สามารถเพิ่มชื่อ namespace เป็นคำนำหน้า แต่Std namespace รายการอื่น ๆ ยังคงต้องเพิ่มชื่อ namespace เป็นคำนำหน้าดังต่อไปนี้:

#include <iostream>
using std::cout;

int main ()
{
 
   cout << "std::endl is used with std!" << std::endl;
   
   return 0;
}

เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:

std::endl is used with std!

ชื่อการใช้คำแนะนำการแนะนำให้รู้จักปฏิบัติตามกฎระเบียบขอบเขตปกติรายชื่อจากการใช้คำสั่งแรกที่มองเห็นได้จนกว่าจะสิ้นสุดของช่วง ในกรณีนี้ชื่อเดียวกันอยู่นอกขอบเขตของความหมายของหน่วยงานที่เป็นที่ซ่อนอยู่

namespace ต่อเนื่อง

namespace สามารถกำหนดในส่วนที่แตกต่างกันดังนั้น namespace ที่ประกอบด้วยหลายส่วนที่กำหนดไว้แยกองค์ประกอบ ส่วนประกอบต่างๆของ namespace ที่สามารถแพร่กระจายในหลายไฟล์

ดังนั้นถ้าเป็นส่วนหนึ่งของ namespace ต้องขอชื่อที่กำหนดไว้ในแฟ้มอื่นคุณยังจำเป็นต้องประกาศชื่อ นิยาม namespace ต่อไปนี้สามารถกำหนด namespace ใหม่ก็สามารถหา namespace มีอยู่เพื่อเพิ่มองค์ประกอบใหม่:

namespace namespace_name {
   // 代码声明
}

namespaces ซ้อน

Namespaces สามารถซ้อนกันคุณสามารถกำหนด namespace อื่นใน namespace เป็นดังนี้

namespace namespace_name1 {
   // 代码声明
   namespace namespace_name2 {
      // 代码声明
   }
}

คุณสามารถใช้ :: ผู้ประกอบการในการเข้าถึงสมาชิก namespace ที่ซ้อนกัน:

// 访问 namespace_name2 中的成员
using namespace namespace_name1::namespace_name2;

// 访问 namespace:name1 中的成员
using namespace namespace_name1;

ในคำสั่งข้างต้นหากคุณกำลังใช้ namespace_name1 แล้วอยู่ในช่วงขององค์ประกอบ namespace_name2 นอกจากนี้ยังมีดังต่อไปนี้:

#include <iostream>
using namespace std;

// 第一个命名空间
namespace first_space{
   void func(){
      cout << "Inside first_space" << endl;
   }
   // 第二个命名空间
   namespace second_space{
      void func(){
         cout << "Inside second_space" << endl;
      }
   }
}
using namespace first_space::second_space;
int main ()
{
 
   // 调用第二个命名空间中的函数
   func();
   
   return 0;
}

เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:

Inside second_space