文档目录

我们用一段简单的 C++ 代码,画出它们在内存中的真实形态:

std::string a = "High Performance";
std::string b = a + " Log Server"; 
【 堆内存 (Heap) 】                 【 栈内存 (Stack) / 寄存器 】

┌───────────────────────┐            ┌────────────────────────┐
│ "High Performance"    │ ◄──────────┤ 变量名: a (左值 lvalue)  │ (能取地址 &a)
└───────────────────────┘            └────────────────────────┘

┌───────────────────────┐            ┌────────────────────────┐
│ "High Performance     │ ◄──────────┤ 临时变量 (纯右值 prvalue)│ (没名字, 没地址,
│  Log Server"          │            └────────────────────────┘  算完就扔)
└───────────────────────┘                        │
                                                 ▼ 拷贝赋值给
                                     ┌────────────────────────┐
                                     │ 变量名: b (左值 lvalue)  │ (能取地址 &b)
                                     └────────────────────────┘