社区
工具平台和程序库
帖子详情
C++中String 的长度大小有限制吗?
pipifan
2003-08-04 09:44:26
如题,谢谢!
...全文
4218
11
打赏
收藏
C++中String 的长度大小有限制吗?
如题,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hansen1998
2003-08-07
打赏
举报
回复
当你定义一个string对象时并初始化它时,C++编译器会为它分配一个定量的空间,随着string对象中数据的增加,当这个一定量的空间不够时,编译器会为它再增加一倍的空间。这是一种动态的内存分配,因此一般string是没有长度限制的。当然,除非你的内存耗尽,那就另当别论了。
merlinran
2003-08-07
打赏
举报
回复
string本身提供了一个成员函数叫max_size,返回的是它所允许的最大序列的长度。
标准库的容器都提供了这么一个成员。
fangrk(加把油,伙计!):
你的做法是不正确的,即使偶然正确,也只是碰运气而已。你取的是其size_type所能表达的最大值。
chon81
2003-08-07
打赏
举报
回复
我想在保护模式下,可能没什么
在实模式下,可能不能超出段.
villager
2003-08-07
打赏
举报
回复
using namespace std;
使用标准名字空间
C++标准库那么大,免不了有时候里面的函数名或变量名跟你写的程序里的重名,名字起的一样那还不出乱子?所以标准库里的数据都定义在标准名字空间里面,跟你的程序里的变量名隔离开来。就是这个样子
Jinbj
2003-08-07
打赏
举报
回复
using namespace std;
我想知道这句话到底什么意思
wangshewei
2003-08-05
打赏
举报
回复
不好意思,好像漏写了:using namespace std;
wangshewei
2003-08-05
打赏
举报
回复
为什么不编写一个程序试一试?
#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++编译器,所以以上程序没有经过调试。但是我想基本编程思路应该如此。
snowman_pc
2003-08-05
打赏
举报
回复
我记得在一本书上看过,
C++本身没有规定字符串的长度,
zgzjw
2003-08-05
打赏
举报
回复
要看虚拟内存有多大了
yjh1982
2003-08-04
打赏
举报
回复
有!看你的内存多大了
fangrk
2003-08-04
打赏
举报
回复
#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>
c++
string
长度
限制
_
String
有多长?
1
String
的形式public final class
String
String
类是由final修饰的,所以是不能被继承的①,我们在对字符串进行比较时,一般是期望对比其
中
的字符串是否一样,所以这里我们不能用"=="进行字符串的比较,而是需要使用"equals"方法②,因为使用==进行比较时,是比较的对象,只有指向同一个字符串对象的才会是true,否则就算字符串值相同也可能出现不相等的情况。pr...
C++
代码
中
的
string
固定
大小
c++
代码
中
string
固定
大小
C++
string
类型的字符串
长度
获取的三种方法
(1).用
string
的成员方法length()获取字符串
长度
length()比较直观,表示的就是该字符串的
长度
。 [cpp] view plain copy print? #include #include using namespace std; int main() {
C++
string
原因在于
string
只存放字符串的地址,它并不直接存放字符串。字符串在另外的内存位置开辟空间存放。一个
string
的
大小
是固定的,在不同的编译器
中
大小
不同,与存放的字符串的
长度
无关。
C++
中
,
string
是作为一个类存在的,虽然定义时和普通变量没有什么区别。
C++
中
string
元素是否定长
在
c++
中
,
string
是定长的。 根据实现的不同
string
类型可能只存储指针,可能存储部分数据、剩余部分用指针指向。 在V
C++
6.0
中
,
string
占用16个字节。
string
s1="hello";
string
s2="helloahelloahelloahelloahelloahello"; struct M { int x;
string
s; };
工具平台和程序库
24,861
社区成员
27,334
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章