今天写循环的时候碰到一个问题,发现:string.length()返回的类型是size_type.它是unsigned 类型.string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度.但只要你使用了这个类型,就使得你的程序适合这个机器.与实际机器匹配. 如果你的机器是32位的,那么 int  len = str.length(),就侥幸对了. 如果你的机器是64位的,那么你就 被fuck 了. unsigned 类型两个数相减,如果是结果负数,就fuck了!显然不会得…
前言 有人说在for循环之前用一个局部变量先获取到list.size().str.length(),然后在for循环的判断条件里通过这个局部变量替换list.size().str.length()会节省数据计算的时间.事实真的是这样吗?下面就为大家解答这个问题. 说明:此文章针对Android SDK 进行说明.List.size() 首先我们看一下List接口,我们知道.size()方法是List接口的一个方法,返回一个int类型的值. public interface List<E> ex…
最近工作中要查看一下string的长度,然后忘了是哪个函数,所以去网上搜了一搜,决定把网上学的和其他的一些有关长度的东西在这里汇总一下, 然后就有了此帖. string 是从c语言的char数组的概念发展出来的.但是char指针变量仍然和string的变量不是一个东西,虽然他们都可能是跟字符串打交道. 看下面的例子: char a[4] = "ab"; char c[] = "ab"; string b = "ab"; ----->  b[…
1.字符与字节 抛出如下代码: public static void main(String[] args) { String str = "活出自己范儿"; System.out.println(str.length()); System.out.println(str.getBytes("GBK").length); } 执行结果: 612 结论: String.length():返回字符串的字符个数,一个中文算一个字符: String.getBytes().l…
今天在代码中遇到这样的问题 ; while (nStart < strTemp.length()) { ... } 感觉自己写的逻辑没有错误,但是,代码执行结果就是不对,结果单步调试到该处发现,while语句一次也没有执行,为什么呢? 这里的原因是:string::length()的返回值string::size_type类型,而size_type是unsigned int的,所以-1跟它比较是比它大的. 哎,细节决定成败啊,以后千万要注意…
#include <iostream>#include <string>#include <vector>//#include <cctype>#include <cstring>//#include "Sales_item.h" using namespace std; //把vector中的string对象导入到字符指针数组中int main(){ vector<string> svec; string str…
今天调试程序发现了个匪夷所思的事情,-1与string.length()比较永远是-1大,看下面代码 #include<iostream> #include<string> using namespace std; int main() { string str; str="; ; //int len=str.length(); if(num<str.length()) { cout<<"-1<str.length()"; }…
在实际的操作中,我们经常会碰到需要返回一序列字符串或者一列数字的时候,以前会用到数组来保存这列的字符串或者数字,现在我们可以用vector来保存这些数据.但是当数据量很大的时候使用vector效率就比较低了,还有千万别返回引用(局部对象的),因为函数执行完毕后,会释放局部对象的内存.一般要将vector作为返回值的话,我们可以这样来实现,我们将它放入函数参数中,添加引用,作为保存数据的容器.例子: 原始的: vector<int> fun1(int num): 更好的处理方法: bool fu…
string.vector 互转 string 转 vector vector  vcBuf;string        stBuf("Hello DaMao!!!");----------------------------------------------vcBuf.resize(stBuf.size());vcBuf.assign(stBuf.begin(), stBuf.end()); vector 转 string  stBuf.clear();stBuf.assign(v…
本文首发于微信公众号:程序员乔戈里 public class testT { public static void main(String [] args){ String A = "hi你是乔戈里"; System.out.println(A.length()); } } 以上结果输出为7. 小萌边说边在IDEA中的win环境下选中String.length()函数,使用ctrl+B快捷键进入到String.length()的定义. /** * Returns the length…