CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

C++中String 的长度大小有限制吗?

楼主pipifan()2003-08-04 09:44:26 在 C/C++ / 工具平台和程序库 提问

如题,谢谢! 问题点数:0、回复次数:11Top

1 楼fangrk(加把油,伙计!)回复于 2003-08-04 09:50:08 得分 0

#include   <iostream>  
  #include   <string>  
  #include   <limits>  
  using   namespace   std;  
  int   main()  
  {  
  cout<<numeric_limits<string::size_type>::max()<<endl;  
  }  
   
  C:\temp>bcc32   -WR   -WC   a  
  Borland   C++   5.6.4   for   Win32   Copyright   (c)   1993,   2002   Borland  
  a.cpp:  
  Turbo   Incremental   Link   5.64   Copyright   (c)   1997-2002   Borland  
   
  C:\temp>a  
  4294967295  
   
  C:\temp>Top

2 楼yjh1982(血精灵)回复于 2003-08-04 09:59:10 得分 0

有!看你的内存多大了Top

3 楼zgzjw(object)回复于 2003-08-05 15:21:48 得分 0

要看虚拟内存有多大了Top

4 楼snowman_pc(cpp)回复于 2003-08-05 16:07:46 得分 0

我记得在一本书上看过,  
  C++本身没有规定字符串的长度,  
   
  Top

5 楼wangshewei(wangshewei)回复于 2003-08-05 16:35:20 得分 0

为什么不编写一个程序试一试?  
  #include   <iostream>  
  #inclued   <string>  
  int   main()  
  {  
        string   str="a";  
        try  
        {  
                for   (int   i=1;i<1000;i++)  
                {  
                      str=str+"a";  
                      cout<<str<<endl;  
                }  
          }  
          catch(...)  
        {  
                cout<<"come   to   the   end!"<<endl;  
          }  
          return(0);  
  }  
  备注:因为手头没有C++编译器,所以以上程序没有经过调试。但是我想基本编程思路应该如此。Top

6 楼wangshewei(wangshewei)回复于 2003-08-05 16:37:08 得分 0

不好意思,好像漏写了:using   namespace   std;Top

7 楼Jinbj(指来指去的指针)回复于 2003-08-07 17:24:31 得分 0

using   namespace   std;  
  我想知道这句话到底什么意思Top

8 楼villager(在黑暗的角落 忧郁的眼神注视着你)回复于 2003-08-07 17:56:20 得分 0

using   namespace   std;  
   
   
  使用标准名字空间  
   
  C++标准库那么大,免不了有时候里面的函数名或变量名跟你写的程序里的重名,名字起的一样那还不出乱子?所以标准库里的数据都定义在标准名字空间里面,跟你的程序里的变量名隔离开来。就是这个样子Top

9 楼chon81(当我遇上你…)回复于 2003-08-07 18:01:27 得分 0

我想在保护模式下,可能没什么  
  在实模式下,可能不能超出段.Top

10 楼merlinran(天行者)回复于 2003-08-07 18:51:46 得分 0

string本身提供了一个成员函数叫max_size,返回的是它所允许的最大序列的长度。  
  标准库的容器都提供了这么一个成员。  
   
  fangrk(加把油,伙计!):  
  你的做法是不正确的,即使偶然正确,也只是碰运气而已。你取的是其size_type所能表达的最大值。  
  Top

11 楼hansen1998(烟雨鹤)回复于 2003-08-07 19:34:41 得分 0

当你定义一个string对象时并初始化它时,C++编译器会为它分配一个定量的空间,随着string对象中数据的增加,当这个一定量的空间不够时,编译器会为它再增加一倍的空间。这是一种动态的内存分配,因此一般string是没有长度限制的。当然,除非你的内存耗尽,那就另当别论了。Top

相关问题

  • string类型字段是否有长度限制?
  • Var SA:string, SA的长度是否有限制?,是否可大于254?
  • select结果中string型变量获得的值长度有限制吗?
  • AnsiString 有长度限制吗?
  • CString 的长度限制!!!
  • TStringList的长度限制
  • 请问如何在C#中声明一个有固定长度的 string ?
  • JSP中String变量存放的字符串有长度限制么?在线给分
  • String长度难道也有限制怎么接近lenght()方法接近10000就报下面的错误?
  • ORACLE 9I 存储过程中的string类型变量最大长度为多少?有没有限制

关键词

  • c++
  • 长度
  • temp
  • copyright
  • include
  • int main

得分解答快速导航

  • 帖主:pipifan

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo