MST

星途 面试题库

面试题:C++中字符串常量在内存中的存储方式及特点

简述C++字符串常量在内存中的存储区域,以及该存储方式对程序的影响,并举例说明如何通过指针访问字符串常量。
33.4万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
  1. 存储区域
    • C++字符串常量存储在只读数据段(也叫常量区)。这个区域在程序运行期间是只读的,程序不能修改其内容。
  2. 对程序的影响
    • 优点
      • 提高了程序的安全性,因为字符串常量内容不可修改,防止了意外的修改导致程序逻辑错误。例如,在多个函数中使用同一个字符串常量,不会出现某个函数误修改其内容影响其他函数使用的情况。
    • 缺点
      • 如果尝试修改字符串常量,会导致未定义行为。比如程序可能崩溃,不同的编译器对此处理方式可能不同。
  3. 通过指针访问字符串常量示例
#include <iostream>
int main() {
    const char* str = "Hello, World!"; // 定义一个指向字符串常量的指针
    std::cout << "通过指针访问字符串常量: " << str << std::endl;
    return 0;
}

在上述代码中,定义了一个指向字符串常量"Hello, World!"的指针str,通过std::cout输出指针指向的字符串内容,实现了通过指针访问字符串常量。