char *str = "Hello";
char *ptr = str;
char *&rptr = str;
Run Code Online (Sandbox Code Playgroud)
ptr和rptr有什么区别?我理解rptr是一个指针的引用(理论上),但它与ptr的实现方式有何不同?
C++中的引用是否使用指针实现?
我知道有Stack,Heap,Code和Data等部分.堆栈/堆是否使用相同的内存部分,因为它们可以独立生长?这段代码是什么?当我有一个函数是它的一部分堆栈或代码部分?这个初始化/未初始化的数据段是什么?
是否有只读存储器部分?当我有一个const变量时,实际发生的是编译器将内存部分标记为只读或将其放入只读内存部分.
静态数据保存在哪里?全球数据保存在哪里?
任何好的参考/文章相同?
我认为内存部分和布局是独立于操作系统的,它与编译器有很大关系.堆栈,堆,代码,数据[初始化,未初始化]段是否出现在所有操作系统中?当存在静态数据时,编译器发生的事情是静态的,接下来会发生什么呢?是编译器管理程序,它应该知道该做什么?所有编译器都不应该遵循通用标准吗?
我的理解是编译器将高级语言转换为机器代码.我有一个问题,编译器(比如VC++)是否也使用汇编程序?我记得看到汇编代码,只要发生崩溃或类似的事情.
int main()
{
char *name = new char[7];
name = "Dolphin";
cout << "Your name is : " << name <<endl;
delete [] name;
}
Run Code Online (Sandbox Code Playgroud)
为什么VC++编译器不抱怨?