1.char* 和 char[]分配空间位置的区别
在不new的情况下,使用char* 和 char[]=一个字符串,分配的空间会有区别,char*在常量区,char[]在栈上。
#include <iostream>
#include <string>
const char* returnstring() {
 // return "test1"; // 情况1,可正常返回
    const char* str1 = "test2"; // 情况2,可正常返回
 // return str1;
    const char str2[] = "test3"; // 情况3,不可正常返回
    return str2;
}
int main()
{
    const char* test= returnstring();
    std::cout << test << std::endl;
}
情况1和情况2,空间再常量区上,情况3,空间在栈上,返回后被释放。
2.型别推导的区别
见effective modern c++
