我正在阅读这个问题的答案,发现实际上有一种方法length()需要std::string(我一直使用size())。std::string在课堂上使用这种方法有什么具体原因吗?size()我阅读了 MSDN 和 CppReference,它们似乎表明和之间没有区别length()。如果是这样,是不是让班级的用户更加困惑?
			
			190105 次
		
4 回答
            410        
        
		
根据文档,这些只是同义词。  size()是否与其他 STL 容器(如vector、map等)保持一致,并与大多数人对字符串的直观概念保持一致。length()人们通常谈论一个单词、句子或段落的长度,而不是它的大小,这样length()是为了让事情更具可读性。
于 2009-05-25T05:53:04.853   回答
    
    
            17        
        
		
顺便说一句,Ruby 也是一样的,它同时提供#length 和 #size作为数组和散列中项目数的同义词(C++ 仅对字符串这样做)。
极简主义者和相信“应该有一种,理想情况下只有一种明显的方式来做到这一点”的人(正如 Python 之禅所背诵的那样),我猜,大多数人会同意你的疑问,@Naveen,而 Perl 的“粉丝”有不止一种方法可以做到这一点”(或者 SQL 的语法带有大量可选的“干扰词”,给出了无数相同的语法形式来表达一个概念)无疑会抱怨 Ruby,尤其是 C++,只是不要走得太远提供这样的同义词冗余就足够了;-)。
于 2009-05-25T06:11:48.550   回答
    
    
            -2        
        
		
使用编码练习工具(LeetCode)时,似乎 size() 比 length() 快(虽然基本上可以忽略不计)
于 2019-10-14T09:15:10.507   回答
    
    
            -16        
        
		
字符串长度==字符串具有多少位,大小==这些位的大小,如果编辑器分配的字符大小为1字节,则在字符串中两者都是相同的
于 2017-04-05T02:13:20.653   回答