关于在vc中使用stl中的vector模板类的问题,请大侠帮忙?

hjdaifool 2004-01-09 10:54:05
我在vc下编译一段使用的stl中的vector的程序,但是出现下列警告,但是这是在基本的模板类的使用啊,为什么在borland c++ builder中就没有呢?
程序如下:

vector<string> east(10,"beijing");
string str("daihj is great men");
string sub_str("meis");
string::size_type pos = str.find_first_of(sub_str);
char p[10]="eastcom";
east.push_back("daihj");
vector<string>::iterator end = east.end();
cout<<*(end-1)<<endl;
printf("Hello World! %d %d\n",east[2].size(),pos);
return 0;
1,warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_
traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,int>' : identifier was truncated to '255' characters in the debug information
2,warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits
<char>,std::allocator<char> > &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > *,int>' : identifier was truncated to '255' characters in the debug information
d:\program files\vc98\include\vector(47) : warning C4786: 'std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::vector<std::basic_st
ring<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : identifier was truncated to '255' characters in the debug information
d:\program files\vc98\include\vector(60) : warning C4786: 'std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::~vector<std::basic_s
tring<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : identifier was truncated to '255' characters in the debug information
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
七伤拳 2004-01-12
  • 打赏
  • 举报
回复
字符串长度不会受限制,只是变量名和类型名会有限制。
七伤拳 2004-01-10
  • 打赏
  • 举报
回复
C++里面类型名和变量只有前255个字符有效,STL模板展开后名称会很长,所以会报警告。
可以在 stdafx.h 里面加一句

#pragma warning(disable:4786)

C++ Builder 为什么没有可能是跟编译器的处理逻辑有关系
SeekTruth 2004-01-10
  • 打赏
  • 举报
回复


VC和CB中的STL不是同一个.
codelover 2004-01-10
  • 打赏
  • 举报
回复
关注,有意思的问题,那能说C++builder的编译器要比VC好呢?
greensofter 2004-01-10
  • 打赏
  • 举报
回复
对字符串长度应该没有限制吧,个人观点:)
zhangcrony 2004-01-10
  • 打赏
  • 举报
回复
剛開始學這個﹐來此學習﹐順便幫樓主UP一下﹗
hjdaifool 2004-01-10
  • 打赏
  • 举报
回复
谢谢,但是我还是有点不明白:是不是如果我定义一个string类的对象,其中的字符串的长度如果超过255的话,vc编译器就会把它截断,但是stl中的string类则没有这样对字符串长度的限制?

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧