½â¾öÒªÁ죺ʹÓÃËø»úÖÆÀ´±£»¤¹²ÏíÊý¾Ý¡£
#includestd::mutexmtx;intsharedData=0;voidthreadFunction(){std::lock_guardlock(mtx);sharedData++;}intmain(){std::threadt1(threadFunction);std::threadt2(threadFunction);t1.join();t2.join();return0;}ËÀËø£ºËÀËøÊÇÖ¸¶à¸öÏß³ÌÏ໥ÆÚ´ý¶Ô·½ÊÍ·Å×ÊÔ´£¬µ¼Ö³ÌÐòÎÞ·¨¼ÌÐøÖ´ÐС£
#includestd::vectordata(1000);//Ô¤·ÖÅÉÄÚ´æ¶àÏß³ÌÓÅ»¯£ººÏÀíʹÓöàÏ߳̿ÉÒÔÌá¸ß³ÌÐòµÄ²¢·¢ÐÔºÍÏìÓ¦ËÙ¶È£¬µ«ÐèҪעÒâÏß³ÌÄþ¾²ÎÊÌâ¡£#include#includevoidprocessChunk(std::vector&data,intstart,intend){//´¦ÀíÊý¾Ý}intmain(){std::vectordata={/*³õʼ»¯Êý¾Ý*/};intchunkSize=data.size()/4;//¼ÙÉè·Ö4¿éstd::vectorthreads;for(inti=0;i<4;++i){intstart=i*chunkSize;intend=(i==3)?data.size():(i+1)*chunkSize;threads.emplace_back(processChunk,std::ref(data),start,end);}for(auto&th:threads){th.join();}return0;}
Çé¿öÅäÖÃ
ÏÂÔØºÍ×°ÖÃVisualStudio£º»á¼û΢Èí¹Ù·½ÍøÕ¾£¬ÏÂÔØ²¢°²?×°×îа汾µÄVisualStudio¡£°²?×°C++¿ª·¢¹¤¾ß£ºÔÚ×°ÖÃÀú³ÌÖУ¬È·±£¹´Ñ¡ÁË¡°C++¿ª·¢¹¤¾ß¡±Ñ¡Ïî¡£ÅäÖÃÏîÄ¿£º·¿ªVisualStudio£¬´´Á¢Ò»¸öеÄC++¿ØÖÆÌ¨Ó¦ÓóÌÐòÏîÄ¿¡£
Ñ¡ÔñÊʺÏÄúµÄÏîÄ¿ÀàÐÍ£¬²¢È·±£ÉèÖúÃÏîĿ·¾¶ºÍÃû³Æ¡£
½â¾öÒªÁ죺
ÐÔÄÜÆÊÎö£ºÊ¹ÓÃÐÔÄÜÆÊÎö¹¤¾ß£¬ÕÒ³öÐÔÄÜÆ¿¾±ËùÔÚ¡£ÓÅ»¯Ëã·¨£ºÑ¡Ôñ¸ü¸ßЧµÄËã·¨£¬Ìá¸ß´úÂëÖ´ÐÐЧÂÊ¡£ÄÚ´æÖÎÀí£ººÏÀíÖÎÀíÄÚ´æ£¬ÖÆÖ¹ÄÚ´æÐ¹Â©ºÍ²»±Ø?ÒªµÄÄÚ´æ·ÖÅÉ¡£
ͨ¹ý±¾ÎÄ£¬ÎÒÃÇÏêϸ½éÉÜÁË17c.11.cppµÄ²Ù×÷ÒªÁì¼°³£¼ûÎÊÌâ½â´ð£¬Ï£ÍûÄÜ×ÊÖú¿ª·¢Õ߸üºÃµØÕÆÎÕÕâÒ»ÖØÒª¹¤¾ß£¬Ìá¸ß¿ª·¢Ð§ÂʺʹúÂëÖÊÁ¿¡£ÎÞÂÛÄãÊÇÐÂÊÖÕÕ¾É×ÊÉî³ÌÐòÔ±£¬¶¼¿ÉÒÔ´ÓÖлñµÃÓмÛÖµµÄÐÅÏ¢¡£Ï£ÍûÕâÆªÎÄÕÂÄÜΪÄãµÄ¿ª·¢Ö®ÂÃÌṩ×ÊÖú¡£
1Ä£°å±à³Ì
templateclassMyVector{private:T*data;intsize;public:MyVector(ints):size(s),data(newTs){}~MyVector(){deletedata;}T&operator(intindex){returndataindex;}};intmain(){MyVectorvec(5);vec0=10;std::cout<
1ÄÚ´æÐ¹Â©
δÊͷŶ¯Ì¬·ÖÅɵÄÄڴ棺ÔÚʹÓÃnew½øÐж¯Ì¬·ÖÅÉʱ£¬±ØÐëʹÓÃdelete½øÐÐÊÍ·Å¡£Èç¹ûÍü¼ÇÊÍ·Å£¬½«µ¼ÖÂÄÚ´æÐ¹Â©¡£int*ptr=newint(10);//Íü¼Çɾ³ý//deleteptr;//ÊÍ·ÅÄÚ´æ
½â¾öÒªÁ죺ȷ±£ÔÚ²»?ÔÙÐèÒª¶¯Ì¬·ÖÅɵÄÄÚ´æÊ±£¬Ê¹ÓÃdelete½øÐÐÊÍ·Å¡£
ÖÇÄÜÖ¸ÕëµÄʹÓãºÊ¹ÓÃunique_ptrºÍshared_ptr¿ÉÒÔ×Ô¶¯ÖÎÀíÄÚ´æ£¬ÖÆÖ¹ÄÚ´æÐ¹Â©¡£#includeintmain(){std::unique_ptrptr(newint(10));//×Ô¶¯ÖÎÀíÄÚ´æ?return0;}Ñ»·ÒýÓõ¼ÖµÄ?ÄÚ´æ?й©£ºµ±Á½¸ö»ò¶à¸ö¹¤¾ßÏ໥³ÖÓжԷ½µÄÖ¸Õëʱ£¬»áÐγÉÑ»·ÒýÓ㬵¼ÖÂÄÚ´æÎÞ·¨ÊÍ·Å¡£
2ÖÇÄÜÖ¸Õë
ÖÇÄÜÖ¸ÕëÊÇC++11ÒýÈëµÄÒ»ÖÖÄÚ´æÖÎÀí¹¤¾ß£¬Äܹ»×Ô¶¯ÖÎÀí¹¤¾ßµÄÉúÃüÖÜÆÚ£¬ÖÆÖ¹ÄÚ´æÐ¹Â©¡£³£ÓõÄÖÇÄÜÖ¸ÕëÓÐunique_ptrºÍshared_ptr¡£
#includeintmain(){std::unique_ptrptr(newint(10));std::cout<<*ptr<sharedPtr(newint(20));std::cout<<*sharedPtr<
ÔÚÏÖ´úÈí¼þ¿ª·¢ÖУ¬C++ÓïÑÔÊÇÒ»Öֹ㷺ʹÓõıà³ÌÓïÑÔ£¬ÆäÖÐ17c.11.cpp×÷Ϊһ¸öÖØÒªµÄ¹¤¾ß£¬Îª¿ª·¢ÕßÌṩÁËÇ¿´óµÄ¹¦Ð§ºÍÁé»îÐÔ¡£±¾ÆªÎÄÕ½«Ïêϸ½éÉÜ17c.11.cppµÄ²Ù×÷ÒªÁì¼°³£¼ûÎÊÌâ½â´ð£¬×ÊÖú¿ª·¢Õ߸üºÃµØ?ÕÆÎÕÕâÒ»ÖØÒª¹¤¾ß¡£
ÎÞÂÛÄãÊÇÐÂÊÖÕÕ¾É×ÊÉî³ÌÐòÔ±£¬¶¼½«´ÓÖлñµÃÓмÛÖµµÄÐÅÏ¢¡£
У¶Ô£º½»ÝÒÇ(1C0m4pJyqZtPma0S7t9ZFfz4hTykKag)


