ตามมาตรฐาน C ++ (9.2.3.2 สมาชิกข้อมูลคงที่)
  1 สมาชิกข้อมูลคงที่ไม่ได้เป็นส่วนหนึ่งของวัตถุย่อยของคลาส ...
และ (9.2.2.1 ตัวชี้นี้)
  1 ในเนื้อความของฟังก์ชันสมาชิกที่ไม่คงที่ (9.2.1) คีย์เวิร์ดนี้คือนิพจน์ prvalue ที่มีค่าเป็นแอดเดรสของอ็อบเจ็กต์ที่ฟังก์ชันถูกเรียกใช้ ประเภทนี้ในฟังก์ชันสมาชิกของคลาส X คือ X *หากประกาศฟังก์ชันสมาชิก const ประเภทนี้คือ const X * , ...
และในที่สุด (9.2.2 ฟังก์ชันสมาชิกไม่คงที่)
  3 ... ถ้าการค้นหาชื่อ (3.4) แก้ไขชื่อในนิพจน์ id เป็นสมาชิกที่ไม่ใช่ประเภทที่ไม่คงที่ของคลาส C บางตัวและถ้านิพจน์ id อาจได้รับการประเมินหรือ C เป็น X หรือคลาสฐาน ของ X นิพจน์ id จะถูกแปลงเป็นนิพจน์การเข้าถึงสมาชิกคลาส (5.2.5) โดยใช้(* this) (9.2.2.1) เป็นนิพจน์ postfix ทางด้านซ้ายของ. ตัวดำเนินการ
ดังนั้นในนิยามคลาสนี้
class A 
{
  public:   
    static int a; 
    void set() const
    {
        a = 10;
    }
};
สมาชิกข้อมูลคงที่ aไม่ใช่วัตถุย่อยของอ็อบเจ็กต์ประเภทคลาสและthisไม่ใช้ตัวชี้เพื่อเข้าถึงสมาชิกข้อมูลแบบคงที่ ดังนั้นฟังก์ชันสมาชิกใด ๆ ค่าคงที่ไม่คงที่หรือไม่คงที่หรือฟังก์ชันสมาชิกคงที่สามารถเปลี่ยนสมาชิกข้อมูลได้เนื่องจากไม่ใช่ค่าคงที่
ในนิยามคลาสนี้
class A 
{
  public:   
    int a; 
    void set() const
    {
        a = 10;
    }
};
สมาชิกข้อมูลที่ไม่คงที่aเป็นวัตถุย่อยของวัตถุประเภทคลาส ในการเข้าถึงมันในฟังก์ชันสมาชิกมีการใช้ไวยากรณ์การเข้าถึงสมาชิกของไวยากรณ์นี้โดยนัย คุณไม่สามารถใช้ตัวชี้ค่าคงที่thisเพื่อแก้ไขสมาชิกข้อมูล และตัวชี้นี้ย่อมมีประเภทconst A *ที่อยู่ในการทำงานเพราะฟังก์ชั่นที่มีการประกาศด้วยรอบคัดเลือกset constหากฟังก์ชันไม่มีคุณสมบัติในกรณีนี้สมาชิกข้อมูลสามารถเปลี่ยนแปลงได้