【发布时间】:2018-04-12 05:46:11
【问题描述】:
MyClass.h
#pragma once
class MyClass {
public:
const char* m_var;
MyClass();
};
MyClass.cpp
#include <iostream>
#include <sstream>
#include "MyClass.h"
MyClass::MyClass() :
m_var(("Text_" + std::to_string(5)).c_str())
{}
Main.cpp
#include <iostream>
#include "MyClass.h"
int main()
{
MyClass myClass;
std::cout << myClass.m_var;
std::cin.get();
}
我希望程序输出Text_5,而不是输出:
╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠½. ÷Y╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠⌠╠╠╠╠╠╠╠╠
【问题讨论】:
-
╠ 在代码页 437 中为 0xCC,MSVC fills 0xCC to uninitialized memory to help debugging。这意味着您访问了未初始化的内存。你可以在这里找到关于 ╠ 和 0xCC 的大量问题
标签: c++ pointers initializer-list c-str