// tcharTest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <list>
#include <tchar.h>
void SetList(std::list<TCHAR*>& _list)
{
_list.push_back(_T("ref1"));
_list.push_back(_T("ref2"));
_list.push_back(_T("ref3"));
_list.push_back(_T("ref4"));
_list.push_back(_T("ref5"));
for (auto it1 = _list.begin(); it1!= _list.end(); ++it1)
{
std::cout<<_T("set list function: ")<<*it1<<std::endl;
}
}
std::list<TCHAR*> ReturnList()
{
std::list<TCHAR*> list;
list.push_back(_T("return1"));
list.push_back(_T("return2"));
list.push_back(_T("return3"));
list.push_back(_T("return4"));
list.push_back(_T("return5"));
for (auto it2 = list.begin(); it2!= list.end(); ++it2)
{
std::cout<<_T("return_list function: ")<<*it2<<std::endl;
}
return list;
}
int _tmain(int argc, _TCHAR* argv[])
{
//引用
std::list<TCHAR*> ref_list;
SetList(ref_list);
printf("\n");
for (auto it1 = ref_list.begin(); it1!= ref_list.end(); ++it1)
{
std::cout<<_T("set list main: ")<<*it1<<std::endl;
}
printf("\n");
//返回值
std::list<TCHAR*> return_list;
return_list = ReturnList();
printf("\n");
for (auto it2 = return_list.begin(); it2!= return_list.end(); ++it2)
{
std::cout<<_T("return list main")<<*it2<<std::endl;
}
system("pause");
return 0;
}
std::list<TCHAR> ReturnList() 出栈后访问list是否可能出现THCAR被释放导致访问异常? 两个函数放的TCHAR* ,用完这个list后需要list.clear()吗?
std::list<TCHAR> ReturnList() 出栈后访问list是否可能出现THCAR被释放导致访问异常?
两个函数放的TCHAR* ,用完这个list后需要list.clear()吗?