<dfn id='GqUgKxT3'></dfn>

        <noscript id='GqUgKxT3'></noscript>

      1. ƵµÀÀ¸Ä¿
        Ê×Ò³ > ³ÌÐò¿ª·¢ > Èí¼þ¿ª·¢ > C++ > ÕýÎÄ
        C++»ù±¾ÓïÑÔ-×Ö·û´®string¡¢ÏòÁ¿vectorºÍÊý×éʵÀý½éÉÜ
        2019-02-20 16:17:40         À´Ô´£ºweixu1999µÄ²©¿Í  
        Êղؠ  ÎÒҪͶ¸å

        µÚ¶þÕ½éÉÜÄÚÖÃÀàÐÍ£¬±¾Õ½éÉܳéÏóÊý¾ÝÀàÐͿ⡣ 

        - ÆäÖÐstringºÍvectorÊÇÁ½ÖÖ×îÖØÒªµÄ±ê×¼¿âÀàÐÍ£¬Ç°ÕßÖ§³Ö¿É±ä³¤×Ö·û´®£¬ºóÕß±íʾ¿É±ä³¤µÄ¼¯ºÏ¡£ 

        - »¹ÓÐÒ»ÖÖ±ê×¼¿âÀàÐÍÊǵü´úÆ÷£¬ËüÊÇstringºÍvectorµÄÅäÌ×ÀàÐÍ£¬³£±»ÓÃÓÚ·ÃÎÊstringÖеÄ×Ö·ûºÍvectorÖеÄÔªËØ¡£

        µÚÈýÕ ×Ö·û´®¡¢ÏòÁ¿ºÍÊý×é

        Í·Îļþ²»Ó¦°üº¬usingÉùÃ÷¡£

        ±ê×¼¿âÀàÐÍstring

        #include <string>

        using std::string

        ³õʼ»¯string

        Ö±½Ó³õʼ»¯£¨direct initialization£©

        ¿½±´³õʼ»¯£¨copy initialization£©£ºÊ¹ÓõȺŠ

        string s1;

        string s2(s1);

        string s2 = s2;

        string s3("hiya");

        string s3 = "hiya";

        string s4(10, 'c'); //s4µÄÄÚÈÝÊÇcccccccccc

        string¶ÔÏóÉϵIJÙ×÷

        1. cout << s

        2. cin >> s         //½«string¶ÔÏó¶ÁÈës£¬Óöµ½¿Õ°×Í£Ö¹

        3. getline(is, s)   //´ÓÊäÈëÁ÷isÖжÁȡһÐи³¸øs£¨»»Ðзû±»¶ÁÈ¡ÁË£¬µ«±»¶ªÆú¶øÃ»Óи³¸øs£©£¬·µ»Øis

        4. s.empty()        //sΪ¿Õ·µ»Øtrue£¬·ñÔò·µ»Øfalse

        5. s.size()

        6. s[n]             //·µ»ØsÖеÚn¸ö×Ö·ûµÄÒýÓã¬Î»ÖÃn´Ó0¼ÆÆð          

        7. s1 + s2          //·µ»Øs1ºÍs2Á¬½ÓºóµÄ½á¹û

        8. s1 = s2

        9. s1 == s2

        10. s1 != s2

        11. <, <=, >, >=

        Âß¼­·ÇÔËËã·û£¨£¡£©

        string::size_typeÀàÐÍ£ºs.size()µÄ·µ»ØÖµÀàÐÍ£¬ÊÇstringÀàµÄÅäÌ×ÀàÐÍ¡£ËüÊÇÒ»¸öÎÞ·ûºÅÀàÐ͵ÄÖµ£¬Äܹ»´æ·ÅÏÂÈκÎstring¶ÔÏóµÄ´óС¡£

        ´¦Àístring¶ÔÏóÖеÄ×Ö·û

        cctypeÍ·Îļþ£º¶Ôµ¥¸ö×Ö·ûµÄÅжϻò´¦ÀíµÄº¯Êý

        isupper(c)      //cÊÇ´óд×ÖÄ¸Ê±ÎªÕæ

        islower(c)

        tolower(c)      //Èç¹ûcÊÇ´óд×Öĸ£¬ÔòÊä³ö¶ÔÓÚµÄСд×Öĸ£»·ñÔòÔ­ÑùÊä³ö

        toupper(c)

        isalpha(c)      //cÊÇ×ÖÄ¸Ê±ÎªÕæ

        isdigit(c)      //cÊÇÊý×ÖÊ±ÎªÕæ

        isalnum(c)      //cÊÇ×Öĸ»òÊý×ÖÊ±ÎªÕæ

        ispunct(c)      //cÊDZêµã·ûºÅÊ±ÎªÕæ

        isspace(c)      //cÊǿհ×Ê±ÎªÕæ£¨¼´cÊǿոñ¡¢ºáÏòÖÆ±í·û¡¢×ÝÏòÖÆ±í·û¡¢»Ø³µ·û¡¢»»Ðзû¡¢½øÖ½·ûµÄÒ»ÖÖ£©

        iscntrl(c)      //cÊÇ¿ØÖÆ×Ö·ûÊ±ÎªÕæ

        isgraph(c)      //c²»Êǿոñµ«¿É´òÓ¡Ê±ÎªÕæ

        isprint(c)      //cÊǿɴòÓ¡×Ö·ûÊ±ÎªÕæ£¨¼´cÊǿոñ»ò¾ßÓпÉÊÓÐÎʽ£©

        isxdigit(c)     //Ê®Áù½øÖÆÊý

        ʹÓÃC++°æ±¾µÄC±ê×¼¿âÍ·Îļþ£¬ÐÎÈçname.h£¬C++++ÖÐÕâЩÎļþÃüÃûΪcname£¬ÄÚÈÝÒ»Ñù£¬ÇÒÍ·ÎļþcnameÖж¨ÒåµÄÃû×Ö´ÓÊôÓÚÃüÃû¿Õ¼ästd¡£

        ·¶Î§for£¨range for£©Óï¾ä

        for (declaration : expression)

            statement

        ÀýÈ磺

        string str("some string");

        //ÿÐÐÊä³östrÖеÄÒ»¸ö×Ö·û

        for(auto c : str)

            cout << c <<endl;

        ±ê×¼¿âÀàÐÍvector

        vectorÊÇÒ»¸öÀàÄ£°å£¨class template£©¡£vector±íʾ¶ÔÏóµÄ¼¯ºÏ£¬ÆäÖÐËùÓжÔÏóµÄÀàÐͶ¼Ïàͬ¡£¼¯ºÏÖеÄÿ¸ö¶ÔÏó¶¼ÓÐÒ»¸öÓëÖ®¶ÔÓ¦µÄË÷Òý£¬Ë÷ÒýÓÃÓÚ·ÃÎʶÔÏó¡£vectorÒ²³£±»³ÆÎªÈÝÆ÷£¨container£©.

        ¶¨ÒåºÍ³õʼ»¯vector¶ÔÏó

        vector<T> v1

        vector<T> v2(v1)

        vector<T> v2 = v1

        vector<T> v3(n, val)

        vector<T> v4(n)

        vector<T> v5{a,b,c...}

        vector<T> v5 = {a,b,c...}

        Áбí³õʼ»¯vector¶ÔÏó

        vector<string> articles = {"a", "an", "the"};

        1

        Ïòvector¶ÔÏóÖÐÌí¼ÓÔªËØ

        push_back£º°ÑÒ»¸öÖµµ±³Évector¶ÔÏóµÄÎ²ÔªËØ“ѹµ½£¨push£©”vector¶ÔÏóµÄ“β¶Ë£¨back£©”¡£ 

        vector<int> v2;

        for(int i=0; i != 100; ++1)

            v2.push_back(i);

        ÔËÐÐʱ²ÅÖªµÀvector¶ÔÏóÖÐÈ·ÇеĸöÊý£º

        string word;

        vector<string> text;

        while (cin >> word) {

            text.push_back(word);

        }

        vector¶ÔÏóÄܸßЧÔö³¤£ºvectorÄÜÔÚÔËÐÐʱ¸ßЧ¿ìËÙµØÌí¼ÓÔªËØ¡£

        Èç¹ûÑ­»·ÌåÄÚ°üº¬ÓÐÏòvector¶ÔÏóÌí¼ÓÔªËØµÄÓï¾ä£¬Ôò²»ÄÜʹÓÃ++·¶Î§for++Ñ­»·¡£

        ÆäËûvector²Ù×÷

        v.empty()

        v.size()

        v.push_back(t)

        v[n]        //·µ»ØvÖеÚn¸öλÖÃÉÏÔªËØµÄÒýÓÃ

        v1 = v2

        v1 = {a,b,c...}

        v1 == v2

        v1 != v2

        <, <=, >, >=

        µü´úÆ÷iterator

        Ò»ÖÖͨÓûúÖÆ£ºÊµÏÖʹÓÃϱêÔËËã·û·ÃÎÊstring¶ÔÏóµÄ×Ö·û»òvector¶ÔÏóµÄÔªËØ¡£

        ÀàËÆÖ¸ÕëÀàÐÍ£¬ÌṩÁ˶ԶÔÏóµÄ¼ä½Ó·ÃÎÊ¡£

        beginºÍend³ÉÔ±

        //ÓɱàÒëÆ÷¾ö¶¨b¡¢eµÄÀàÐÍ

        //b±íʾvµÄµÚÒ»¸öÔªËØ£¬e±íʾvÎ²ÔªËØµÄÏÂÒ»¸öÔªËØ

        auto b = v.begin(), e = v.end();    //b¡¢eÀàÐÍÏàͬ

        end³ÉÔ±·µ»ØµÄµü´úÆ÷³£±»³Æ×÷βºóµü´úÆ÷£¨off-the-end iterator£©£¬»òÕß¼ò³ÆÎ²µü´úÆ÷¡£

        Èç¹ûÈÝÆ÷Ϊ¿Õ£¬ÔòbeginºÍend·µ»ØµÄ¶¼ÊÇβºóµü´úÆ÷¡£

        ±ê×¼ÈÝÆ÷µü´úÆ÷ÔËËã·û

        *iter           ·µ»Øµü´úÆ÷iterËùÖ¸ÔªËØµÄÒýÓÃ

        iter->men       ½âÒýÓÃiter²¢»ñÈ¡¸ÆÔªËصÄÃûΪmemµÄ³ÉÔ±£¬µÈ¼ÛÓÚ£¨*iter£©.mem

        ++iter

        --iter

        iter1 == iter2

        iter1 != iter2

        //½«×Ö·û´®Ê××Öĸ¸Ä³É´óд

        string s("some string");

        if (s.begin() != s.end()) {

            auto it = s.begin();

            *it = toupper(*it);

        }

        //½«µü´úÆ÷´ÓÒ»¸öÔªËØÒÆ¶¯µ½ÁíÒ»¸öÔªËØ£¬°Ñ×Ö·û´®ÖеÚÒ»¸öµ¥´Ê¸ÄΪ´óд

        //×¢Ò⣬ʹÓõÄÊÇ!=£¬¶ø²»ÊÇ<

        for(auto it = s.begin(); it != s.end() && !isspace(*it); ++it)

            *it = toupper(*it);

        #### µü´úÆ÷ÀàÐÍ

        ÓµÓеü´úÆ÷µÄ±ê×¼¿âʹÓÃiteratorºÍconst_iteratorÀ´±íʾµü´úÆ÷µÄÀàÐÍ£º

        vector<int>::iterator it;           //itÄܶÁдvector<int>ÖеÄÔªËØ

        string::iterator it2;               //it2ÄܶÁдstring¶ÔÏóÖеÄ×Ö·û

        vector<int>::const_iterator it3;    //it3Ö»ÄܶÁÔªËØ£¬²»ÄÜÐ´ÔªËØ

        string::const_iterator it4;         //it4Ö»ÄܶÁ×Ö·û£¬²»ÄÜд×Ö·û

        µã»÷¸´ÖÆÁ´½Ó ÓëºÃÓÑ·ÖÏí!»Ø±¾Õ¾Ê×Ò³
        ÉÏһƪ£ºÓÃCÓïÑÔ¡¢C++±àдһ¸öÃÔ¹¬ÓÎÏ·£¨´úÂëʵÀý£©
        ÏÂһƪ£º¹ØÓÚC++ÖÐnew¡¢operator newºÍplacement newµÄÇø±ðÏê½â
        Ïà¹ØÎÄÕÂ
        ͼÎÄÍÆ¼ö
        µã»÷ÅÅÐÐ

        ¹ØÓÚÎÒÃÇ | ÁªÏµÎÒÃÇ | ¹ã¸æ·þÎñ | Ͷ×ʺÏ×÷ | °æÈ¨ÉêÃ÷ | ÔÚÏß°ïÖú | ÍøÕ¾µØÍ¼ | ×÷Æ··¢²¼ | Vip¼¼ÊõÅàѵ | ¾Ù±¨ÖÐÐÄ

        °æÈ¨ËùÓÐ: µÚÒ»ÃÅ»§--ÖÂÁ¦ÓÚ×öʵÓõÄIT¼¼ÊõÑ§Ï°ÍøÕ¾