{"id":339,"date":"2024-01-25T14:02:51","date_gmt":"2024-01-25T14:02:51","guid":{"rendered":"https:\/\/startersites.io\/blocksy\/consultant\/?p=339"},"modified":"2026-05-19T21:26:14","modified_gmt":"2026-05-19T13:26:14","slug":"consequat-interdum-varius-sitamet-mattis-vulputate","status":"publish","type":"post","link":"https:\/\/cqfdreamgarden.art\/index.php\/2024\/01\/25\/consequat-interdum-varius-sitamet-mattis-vulputate\/","title":{"rendered":"\u516b\u80a1\u6587\u7b54\u6848"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">C\/C++<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">1. \u63cf\u8ff0C++\u7a0b\u5e8f\u7684\u5185\u5b58\u7531\u54ea\u51e0\u90e8\u5206\u7ec4\u6210\uff0c\u6bcf\u4e2a\u533a\u57df\u5206\u522b\u6709\u4ec0\u4e48\u4f5c\u7528\u548c\u7279\u70b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++\u7a0b\u5e8f\u7684\u5185\u5b58\u5e03\u5c40\u901a\u5e38\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u533a\u57df\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6808\u533a<\/strong>\uff1a\u7531\u7f16\u8bd1\u5668\u81ea\u52a8\u7ba1\u7406\uff0c\u7528\u4e8e\u5b58\u653e\u51fd\u6570\u7684\u5c40\u90e8\u53d8\u91cf\u3001\u53c2\u6570\u3001\u8fd4\u56de\u503c\u7b49\u3002\u5206\u914d\u548c\u91ca\u653e\u6548\u7387\u9ad8\uff0c\u4f46\u5bb9\u91cf\u6709\u9650\u3002\u751f\u547d\u5468\u671f\u4e0e\u51fd\u6570\u8c03\u7528\u76f8\u5173\u3002<\/li>\n\n\n\n<li><strong>\u5806\u533a<\/strong>\uff1a\u7531\u7a0b\u5e8f\u5458\u624b\u52a8\u7ba1\u7406\uff08<code>malloc\/new<\/code>, <code>free\/delete<\/code>\uff09\u3002\u5bb9\u91cf\u5927\uff0c\u4f46\u5206\u914d\u548c\u91ca\u653e\u901f\u5ea6\u8f83\u6162\uff0c\u5bb9\u6613\u4ea7\u751f\u5185\u5b58\u788e\u7247\u3002\u751f\u547d\u5468\u671f\u7531\u7a0b\u5e8f\u5458\u63a7\u5236\uff0c\u7ba1\u7406\u4e0d\u5f53\u4f1a\u5bfc\u81f4\u5185\u5b58\u6cc4\u6f0f\u3002<\/li>\n\n\n\n<li><strong>\u5168\u5c40\/\u9759\u6001\u5b58\u50a8\u533a<\/strong>\uff1a\u5b58\u653e\u5168\u5c40\u53d8\u91cf\u548c\u9759\u6001\u53d8\u91cf\uff08\u5305\u62ec<code>static<\/code>\u53d8\u91cf\uff09\u3002\u8be5\u533a\u57df\u5728\u7a0b\u5e8f\u5f00\u59cb\u65f6\u5206\u914d\uff0c\u7a0b\u5e8f\u7ed3\u675f\u65f6\u91ca\u653e\u3002\u521d\u59cb\u5316\u7684\u53d8\u91cf\u548c\u672a\u521d\u59cb\u5316\u7684\u53d8\u91cf\u5206\u522b\u5b58\u653e\u5728\u76f8\u90bb\u7684\u533a\u57df\uff08\u5982<code>.data<\/code>\u548c<code>.bss<\/code>\u6bb5\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5e38\u91cf\u5b58\u50a8\u533a<\/strong>\uff1a\u5b58\u653e\u5b57\u7b26\u4e32\u5e38\u91cf\u548c\u5176\u4ed6\u7528<code>const<\/code>\u5b9a\u4e49\u7684\u5e38\u91cf\u3002\u8be5\u533a\u57df\u7684\u5185\u5bb9\u5728\u7a0b\u5e8f\u8fd0\u884c\u671f\u95f4\u662f\u53ea\u8bfb\u7684\uff0c\u4fee\u6539\u5b83\u4f1a\u5f15\u53d1\u672a\u5b9a\u4e49\u884c\u4e3a\u3002<\/li>\n\n\n\n<li><strong>\u4ee3\u7801\u533a<\/strong>\uff1a\u5b58\u653e\u7a0b\u5e8f\u7684\u4e8c\u8fdb\u5236\u673a\u5668\u6307\u4ee4\uff08\u51fd\u6570\u4f53\u7684\u4e8c\u8fdb\u5236\u4ee3\u7801\uff09\u3002\u8be5\u533a\u57df\u901a\u5e38\u662f\u53ea\u8bfb\u7684\uff0c\u7528\u4e8e\u9632\u6b62\u7a0b\u5e8f\u6307\u4ee4\u88ab\u610f\u5916\u4fee\u6539\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">2. \u4ec0\u4e48\u65f6\u5019\u5206\u914d\u5185\u5b58\u4f1a\u4ea7\u751f\u5185\u5b58\u788e\u7247<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5185\u5b58\u788e\u7247\u4e3b\u8981\u53d1\u751f\u5728<strong>\u5806\u5185\u5b58\u5206\u914d<\/strong>\u4e2d\uff0c\u5206\u4e3a\u4e24\u79cd\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5916\u90e8\u788e\u7247<\/strong>\uff1a\u5f53\u9891\u7e41\u5730\u5206\u914d\u548c\u91ca\u653e\u4e0d\u540c\u5927\u5c0f\u7684\u5185\u5b58\u5757\u540e\uff0c\u7a7a\u95f2\u5185\u5b58\u4f1a\u88ab\u5206\u5272\u6210\u8bb8\u591a\u4e0d\u8fde\u7eed\u7684\u5c0f\u5757\u3002\u5f53\u9700\u8981\u5206\u914d\u4e00\u5757\u8f83\u5927\u7684\u8fde\u7eed\u5185\u5b58\u65f6\uff0c\u5373\u4f7f\u603b\u7a7a\u95f2\u5185\u5b58\u8db3\u591f\uff0c\u4e5f\u65e0\u6cd5\u627e\u5230\u4e00\u5757\u8fde\u7eed\u7684\u8db3\u591f\u5927\u7684\u7a7a\u95f4\uff0c\u4ece\u800c\u5bfc\u81f4\u5206\u914d\u5931\u8d25\u3002\u8fd9\u662f<code>malloc<\/code>\u548c<code>new<\/code>\u9762\u4e34\u7684\u4e3b\u8981\u95ee\u9898\u3002<\/li>\n\n\n\n<li><strong>\u5185\u90e8\u788e\u7247<\/strong>\uff1a\u5f53\u5206\u914d\u5668\u5206\u914d\u7ed9\u7a0b\u5e8f\u7684\u5185\u5b58\u5757\u5927\u5c0f\u5927\u4e8e\u7a0b\u5e8f\u5b9e\u9645\u8bf7\u6c42\u7684\u5927\u5c0f\u65f6\uff0c\u591a\u51fa\u6765\u7684\u90e8\u5206\u5c31\u88ab\u6d6a\u8d39\u4e86\u3002\u4f8b\u5982\uff0c\u7531\u4e8e\u5185\u5b58\u5bf9\u9f50\u7684\u8981\u6c42\uff0c\u7a0b\u5e8f\u7533\u8bf713\u5b57\u8282\uff0c\u4f46\u5206\u914d\u5668\u53ef\u80fd\u5b9e\u9645\u5206\u914d16\u5b57\u8282\uff0c\u8fd93\u5b57\u8282\u5c31\u662f\u5185\u90e8\u788e\u7247\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">3. \u8d1f\u6570\u7684\u7f16\u7801\u65b9\u5f0f\u662f\u4ec0\u4e48\uff0c\u7b80\u8ff0\u4e00\u4e0b\u5b83\u7684\u539f\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8d1f\u6570\u5728\u8ba1\u7b97\u673a\u4e2d\u901a\u5e38\u91c7\u7528<strong>\u8865\u7801<\/strong> \u8868\u793a\u3002\u5176\u539f\u7406\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u7801<\/strong>\uff1a\u6700\u9ad8\u4f4d\u4e3a\u7b26\u53f7\u4f4d\uff080\u6b631\u8d1f\uff09\uff0c\u5176\u4f59\u4f4d\u8868\u793a\u6570\u503c\u3002\u539f\u7801\u8868\u793a0\u65f6\u6709+0\u548c-0\u4e4b\u5206\uff0c\u4e14\u52a0\u51cf\u8fd0\u7b97\u590d\u6742\u3002<\/li>\n\n\n\n<li><strong>\u53cd\u7801<\/strong>\uff1a\u6b63\u6570\u7684\u53cd\u7801\u662f\u5176\u672c\u8eab\uff0c\u8d1f\u6570\u7684\u53cd\u7801\u662f\u5176\u539f\u7801\u7684\u7b26\u53f7\u4f4d\u4e0d\u53d8\uff0c\u5176\u4f59\u4f4d\u53d6\u53cd\u3002\u540c\u6837\u5b58\u5728\u00b10\u95ee\u9898\u3002<\/li>\n\n\n\n<li><strong>\u8865\u7801<\/strong>\uff1a<strong>\u6b63\u6570\u7684\u8865\u7801\u662f\u5176\u672c\u8eab\u3002\u8d1f\u6570\u7684\u8865\u7801\u662f\u5176\u539f\u7801\u7684\u7b26\u53f7\u4f4d\u4e0d\u53d8\uff0c\u5176\u4f59\u4f4d\u53d6\u53cd\u540e\u52a01\u3002<\/strong><\/li>\n\n\n\n<li><strong>\u4f18\u52bf<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u7edf\u4e00\u4e86\u96f6\u7684\u8868\u793a<\/strong>\uff1a+0\u7684\u8865\u7801\u662f\u51680\uff0c\u800c-0\u7684\u8865\u7801\u8ba1\u7b97\u540e\u4e5f\u662f\u51680\u3002<\/li>\n\n\n\n<li><strong>\u5c06\u51cf\u6cd5\u8fd0\u7b97\u8f6c\u6362\u4e3a\u52a0\u6cd5\u8fd0\u7b97<\/strong>\uff1a<code>A - B<\/code> \u53ef\u4ee5\u7b49\u4ef7\u4e3a <code>A + (-B\u7684\u8865\u7801)<\/code>\uff0cCPU\u53ea\u9700\u4e00\u5957\u52a0\u6cd5\u5668\u7535\u8def\u5373\u53ef\u5904\u7406\u52a0\u51cf\u6cd5\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">4. \u6d6e\u70b9\u6570\u7684\u7f16\u7801\u65b9\u5f0f\u662f\u4ec0\u4e48\uff0c\u7b80\u8ff0\u4e00\u4e0b\u5b83\u7684\u539f\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u73b0\u4ee3\u8ba1\u7b97\u673a\u666e\u904d\u91c7\u7528<strong>IEEE 754\u6807\u51c6<\/strong>\u6765\u8868\u793a\u6d6e\u70b9\u6570\u3002\u5b83\u5c06\u4e00\u4e2a\u6d6e\u70b9\u6570\u5206\u4e3a\u4e09\u4e2a\u90e8\u5206\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7b26\u53f7\u4f4d<\/strong>\uff1a\u6700\u9ad8\u4f4d\uff0c0\u8868\u793a\u6b63\u6570\uff0c1\u8868\u793a\u8d1f\u6570\u3002<\/li>\n\n\n\n<li><strong>\u6307\u6570\u4f4d<\/strong>\uff1a\u4e2d\u95f4\u7684\u82e5\u5e72\u4f4d\uff0c\u8868\u793a2\u7684\u5e42\u6b21\u3002\u4e3a\u4e86\u8868\u793a\u8d1f\u6307\u6570\uff0c\u5f15\u5165\u4e86<strong>\u504f\u79fb\u7801<\/strong>\uff08\u4f8b\u5982\uff0c8\u4f4d\u6307\u6570\u7684\u504f\u79fb\u91cf\u662f127\uff0c\u5b9e\u9645\u6307\u6570 = \u7f16\u7801\u503c &#8211; 127\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5c3e\u6570\u4f4d<\/strong>\uff1a\u6700\u4f4e\u7684\u82e5\u5e72\u4f4d\uff0c\u8868\u793a\u6709\u6548\u6570\u5b57\u7684\u5c0f\u6570\u90e8\u5206\u3002\u5b83\u662f\u4e00\u4e2a\u89c4\u683c\u5316\u6570\uff081.xxxxx\uff09\uff0c\u56e0\u6b64\u5c3e\u6570\u90e8\u5206\u9ed8\u8ba4\u7701\u7565\u4e86\u524d\u5bfc\u76841\uff08\u79f0\u4e3a&#8221;\u9690\u85cf\u4f4d&#8221;\uff09\u3002<\/li>\n\n\n\n<li><strong>\u516c\u5f0f<\/strong>\uff1a<code>(-1)^\u7b26\u53f7\u4f4d \u00d7 1.\u5c3e\u6570 \u00d7 2^(\u6307\u6570 - \u504f\u79fb\u91cf)<\/code><\/li>\n\n\n\n<li>\u8fd9\u79cd\u8868\u793a\u6cd5\u53ef\u4ee5\u8986\u76d6\u975e\u5e38\u5927\u548c\u975e\u5e38\u5c0f\u7684\u6570\u503c\u8303\u56f4\uff0c\u4f46\u4f1a\u5b58\u5728\u7cbe\u5ea6\u635f\u5931\u95ee\u9898\uff08\u56e0\u4e3a\u6709\u4e9b\u5341\u8fdb\u5236\u5c0f\u6570\u65e0\u6cd5\u7cbe\u786e\u8868\u793a\u4e3a\u4e8c\u8fdb\u5236\u5c0f\u6570\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">5. \u53ef\u6267\u884c\u7a0b\u5e8f\u662f\u5982\u4f55\u751f\u6210\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u53ef\u6267\u884c\u7a0b\u5e8f\u7684\u751f\u6210\u901a\u5e38\u9700\u8981\u56db\u4e2a\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9884\u5904\u7406<\/strong>\uff1a\u5904\u7406\u6e90\u4ee3\u7801\u4e2d\u7684\u9884\u5904\u7406\u6307\u4ee4\uff0c\u5982<code>#include<\/code>\uff08\u5934\u6587\u4ef6\u5305\u542b\uff09\u3001<code>#define<\/code>\uff08\u5b8f\u5c55\u5f00\uff09\u3001<code>#ifdef<\/code>\uff08\u6761\u4ef6\u7f16\u8bd1\uff09\u7b49\uff0c\u751f\u6210\u4e00\u4e2a\u7eaf\u7cb9\u7684C\/C++\u6e90\u6587\u4ef6\uff08<code>.i<\/code>\u6216<code>.ii<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u7f16\u8bd1<\/strong>\uff1a\u5c06\u9884\u5904\u7406\u540e\u7684C\/C++\u6e90\u4ee3\u7801<strong>\u7ffb\u8bd1\u6210\u6c47\u7f16\u4ee3\u7801<\/strong>\uff08<code>.s<\/code>\uff09\u3002\u6b64\u9636\u6bb5\u8fdb\u884c\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4f18\u5316\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u6c47\u7f16<\/strong>\uff1a\u5c06\u6c47\u7f16\u4ee3\u7801<strong>\u7ffb\u8bd1\u6210\u673a\u5668\u6307\u4ee4<\/strong>\uff0c\u751f\u6210<strong>\u76ee\u6807\u6587\u4ef6<\/strong>\uff08<code>.o<\/code>\u6216<code>.obj<\/code>\uff09\u3002\u76ee\u6807\u6587\u4ef6\u662f\u4e8c\u8fdb\u5236\u683c\u5f0f\uff0c\u5305\u542b\u673a\u5668\u7801\u3001\u6570\u636e\u4ee5\u53ca\u7b26\u53f7\u8868\uff08\u51fd\u6570\u540d\u3001\u53d8\u91cf\u540d\u7b49\uff09\u3002<\/li>\n\n\n\n<li><strong>\u94fe\u63a5<\/strong>\uff1a\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u76ee\u6807\u6587\u4ef6\u4ee5\u53ca\u6240\u9700\u7684\u5e93\u6587\u4ef6\uff08\u5982C++\u6807\u51c6\u5e93\uff09<strong>\u7ec4\u5408\u6210\u4e00\u4e2a\u6700\u7ec8\u7684\u53ef\u6267\u884c\u6587\u4ef6<\/strong>\uff08\u5982<code>.exe<\/code>\u6216\u65e0\u540e\u7f00\u6587\u4ef6\uff09\u3002\u94fe\u63a5\u5668\u4e3b\u8981\u5b8c\u6210\u4e24\u9879\u5de5\u4f5c\uff1a<strong>\u5730\u5740\u91cd\u5b9a\u4f4d<\/strong>\uff08\u4e3a\u51fd\u6570\u548c\u53d8\u91cf\u5206\u914d\u6700\u7ec8\u7684\u5185\u5b58\u5730\u5740\uff09\u548c<strong>\u7b26\u53f7\u89e3\u6790<\/strong>\uff08\u89e3\u51b3\u8de8\u6587\u4ef6\u7684\u51fd\u6570\u548c\u53d8\u91cf\u5f15\u7528\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">6. \u53ef\u6267\u884c\u7a0b\u5e8f\u662f\u5982\u4f55\u53d8\u6210\u8fdb\u7a0b\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5f53\u4f60\u5728shell\u4e2d\u8f93\u5165\u4e00\u4e2a\u53ef\u6267\u884c\u7a0b\u5e8f\u7684\u540d\u5b57\u6216\u8c03\u7528<code>exec<\/code>\u7cfb\u5217\u51fd\u6570\u65f6\uff0c\u64cd\u4f5c\u7cfb\u7edf\u4f1a\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5c06\u5176\u53d8\u4e3a\u4e00\u4e2a\u8fdb\u7a0b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u521b\u5efa\u8fdb\u7a0b\u63a7\u5236\u5757<\/strong>\uff1a\u64cd\u4f5c\u7cfb\u7edf\u521b\u5efa\u4e00\u4e2a\u65b0\u7684<strong>PCB<\/strong>\uff0c\u8fd9\u662f\u8fdb\u7a0b\u5b58\u5728\u7684\u552f\u4e00\u6807\u5fd7\uff0c\u5305\u542b\u4e86\u8fdb\u7a0b\u7684\u6240\u6709\u7ba1\u7406\u4fe1\u606f\uff08\u5982PID\u3001\u4f18\u5148\u7ea7\u3001\u72b6\u6001\u7b49\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5206\u914d\u8d44\u6e90<\/strong>\uff1a\u4e3a\u65b0\u8fdb\u7a0b\u5206\u914d\u5fc5\u8981\u7684\u5185\u5b58\u7a7a\u95f4\uff08\u5982\u4ee3\u7801\u6bb5\u3001\u6570\u636e\u6bb5\u3001\u5806\u6808\u6bb5\uff09\u548c\u5176\u4ed6\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>\u52a0\u8f7d\u7a0b\u5e8f<\/strong>\uff1a\u5c06\u53ef\u6267\u884c\u6587\u4ef6\u7684\u4ee3\u7801\u548c\u6570\u636e\u4ece\u78c1\u76d8<strong>\u52a0\u8f7d\u5230\u5206\u914d\u7684\u5185\u5b58\u4e2d<\/strong>\u3002\u8fd9\u5305\u62ec\u5efa\u7acb\u4e4b\u524d\u63cf\u8ff0\u7684\u5185\u5b58\u5e03\u5c40\uff08\u6808\u3001\u5806\u3001\u5168\u5c40\u533a\u7b49\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8bbe\u7f6e\u8fd0\u884c\u4e0a\u4e0b\u6587<\/strong>\uff1a\u8bbe\u7f6eCPU\u7684\u5bc4\u5b58\u5668\uff0c\u7279\u522b\u662f<strong>\u7a0b\u5e8f\u8ba1\u6570\u5668<\/strong>\uff0c\u4f7f\u5176\u6307\u5411\u7a0b\u5e8f\u7684\u5165\u53e3\u70b9\uff08\u5982<code>_start<\/code>\u6216<code>main<\/code>\u51fd\u6570\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8f6c\u5165\u5c31\u7eea\u72b6\u6001<\/strong>\uff1a\u5c06\u65b0\u521b\u5efa\u7684\u8fdb\u7a0b\u653e\u5165\u64cd\u4f5c\u7cfb\u7edf\u7684\u5c31\u7eea\u961f\u5217\uff0c\u7b49\u5f85CPU\u8c03\u5ea6\u6267\u884c\u3002\u4ece\u6b64\uff0c\u8fd9\u4e2a\u7a0b\u5e8f\u5c31\u6210\u4e3a\u4e86\u4e00\u4e2a\u6d3b\u8dc3\u7684<strong>\u8fdb\u7a0b<\/strong>\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">7. \u5728C\u8bed\u8a00\u4e2d\u5982\u4f55\u8c03\u7528C++\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u7531\u4e8eC++\u652f\u6301\u51fd\u6570\u91cd\u8f7d\uff0c\u5b83\u4f1a\u8fdb\u884c<strong>\u540d\u79f0\u4fee\u9970<\/strong>\uff0c\u5bfc\u81f4\u7f16\u8bd1\u540e\u7684\u51fd\u6570\u540d\u4e0eC\u8bed\u8a00\u4e0d\u540c\u3002\u56e0\u6b64\uff0c\u5728C\u4e2d\u76f4\u63a5\u8c03\u7528C++\u51fd\u6570\u4f1a\u94fe\u63a5\u5931\u8d25\u3002\u89e3\u51b3\u65b9\u6cd5\u662f\u5728C++\u4ee3\u7801\u4e2d\u4f7f\u7528<code>extern \"C\"<\/code>\u6765\u544a\u8bc9\u7f16\u8bd1\u5668\u6309C\u8bed\u8a00\u7684\u65b9\u5f0f\u8fdb\u884c\u7f16\u8bd1\u94fe\u63a5\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6b65\u9aa4<\/strong>\uff1a<ol start=\"\"><li>\u5728C++\u5934\u6587\u4ef6\u4e2d\uff0c\u7528<code>extern \"C\"<\/code>\u5305\u88f9\u9700\u8981\u88abC\u8c03\u7528\u7684\u51fd\u6570\u58f0\u660e\u3002<\/li><li>\u8be5C++\u5934\u6587\u4ef6\u65e2\u53ef\u4ee5\u88abC++\u5305\u542b\uff0c\u4e5f\u53ef\u4ee5\u88abC\u5305\u542b\uff08C\u8bed\u8a00\u4e0d\u8ba4\u8bc6<code>extern \"C\"<\/code>\uff0c\u9700\u8981\u7528\u5b8f<code>__cplusplus<\/code>\u6765\u6761\u4ef6\u7f16\u8bd1\uff09\u3002<\/li><\/ol>cpp\u590d\u5236\u4e0b\u8f7d\/\/ my_cpp_lib.h<br>#ifdef __cplusplus<br>extern &#8220;C&#8221; {<br>#endif<br>\u200b<br>void cpp_function_called_from_c(int arg);<br>\u200b<br>#ifdef __cplusplus<br>}<br>#endif\n<ol class=\"wp-block-list\">\n<li>\u5728C\u6e90\u6587\u4ef6\u4e2d\uff0c\u5305\u542b\u8fd9\u4e2a\u5934\u6587\u4ef6\u5e76\u6b63\u5e38\u8c03\u7528\u51fd\u6570\u5373\u53ef\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">8. \u8bf7\u63cf\u8ff0\u51e0\u79cd\u5e38\u89c1\u7684C\/C++\u7684\u7f3a\u9677\u548c\u9677\u9631<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5185\u5b58\u7ba1\u7406<\/strong>\uff1a\u624b\u52a8\u7ba1\u7406\u5185\u5b58\u5bb9\u6613\u5bfc\u81f4<strong>\u5185\u5b58\u6cc4\u6f0f<\/strong>\uff08\u5fd8\u8bb0\u91ca\u653e\uff09\u3001<strong>\u91ce\u6307\u9488<\/strong>\uff08\u91ca\u653e\u540e\u7ee7\u7eed\u4f7f\u7528\uff09\u548c<strong>\u60ac\u7a7a\u6307\u9488<\/strong>\uff08\u6307\u5411\u5df2\u91ca\u653e\u5185\u5b58\uff09\u3002<\/li>\n\n\n\n<li><strong>\u7f13\u51b2\u533a\u6ea2\u51fa<\/strong>\uff1a\u5bf9\u6570\u7ec4\u6216\u6307\u9488\u8fdb\u884c\u64cd\u4f5c\u65f6\u672a\u68c0\u67e5\u8fb9\u754c\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u8986\u76d6\u76f8\u90bb\u5185\u5b58\uff0c\u5f15\u53d1\u5d29\u6e83\u6216\u5b89\u5168\u6f0f\u6d1e\u3002<\/li>\n\n\n\n<li><strong>\u672a\u5b9a\u4e49\u884c\u4e3a<\/strong>\uff1a\u8bed\u8a00\u6807\u51c6\u672a\u660e\u786e\u5b9a\u4e49\u7684\u884c\u4e3a\uff0c\u5982\u89e3\u5f15\u7528\u7a7a\u6307\u9488\u3001\u6709\u7b26\u53f7\u6574\u6570\u6ea2\u51fa\u3001\u4fee\u6539\u5b57\u7b26\u4e32\u5e38\u91cf\u7b49\u3002\u4e0d\u540c\u7f16\u8bd1\u5668\u53ef\u80fd\u4ea7\u751f\u4e0d\u540c\u7ed3\u679c\uff0c\u96be\u4ee5\u8c03\u8bd5\u3002<\/li>\n\n\n\n<li><strong>\u5b8f\u7684\u9677\u9631<\/strong>\uff1a\u5b8f\u662f\u7b80\u5355\u7684\u6587\u672c\u66ff\u6362\uff0c\u7f3a\u4e4f\u7c7b\u578b\u68c0\u67e5\uff0c\u5bb9\u6613\u56e0\u8fd0\u7b97\u7b26\u4f18\u5148\u7ea7\u7b49\u95ee\u9898\u4ea7\u751f\u9519\u8bef\uff08\u4f8b\u5982<code>#define MULTIPLY(a, b) a * b<\/code>\uff0c\u8c03\u7528<code>MULTIPLY(x+1, y+1)<\/code>\u4f1a\u51fa\u9519\uff09\u3002<\/li>\n\n\n\n<li><strong>\u9690\u5f0f\u7c7b\u578b\u8f6c\u6362<\/strong>\uff1a\u7f16\u8bd1\u5668\u81ea\u52a8\u8fdb\u884c\u7684\u7c7b\u578b\u8f6c\u6362\u53ef\u80fd\u4e22\u5931\u7cbe\u5ea6\u6216\u4ea7\u751f\u975e\u9884\u671f\u7ed3\u679c\uff0c\u5982\u6574\u6570\u9664\u6cd5\u3001<code>int<\/code>\u4e0e<code>unsigned int<\/code>\u6bd4\u8f83\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u591a\u7ebf\u7a0b\u6570\u636e\u7ade\u4e89<\/strong>\uff1a\u591a\u4e2a\u7ebf\u7a0b\u4e0d\u52a0\u9501\u5730\u8bbf\u95ee\u5171\u4eab\u6570\u636e\uff0c\u5bfc\u81f4\u7ed3\u679c\u4e0d\u786e\u5b9a\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">9. \u91cd\u5199\uff0c\u91cd\u8f7d\uff0c\u91cd\u5b9a\u4e49\u8fd9\u4e09\u8005\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91cd\u8f7d<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8303\u56f4<\/strong>\uff1a\u53d1\u751f\u5728\u540c\u4e00\u4e2a\u7c7b\u4e2d\uff08\u6216\u5168\u5c40\u4f5c\u7528\u57df\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6761\u4ef6<\/strong>\uff1a\u51fd\u6570\u540d\u76f8\u540c\uff0c\u4f46<strong>\u53c2\u6570\u5217\u8868<\/strong>\uff08\u53c2\u6570\u7c7b\u578b\u3001\u4e2a\u6570\u3001\u987a\u5e8f\uff09\u5fc5\u987b\u4e0d\u540c\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u7f16\u8bd1\u65f6\u6839\u636e\u8c03\u7528\u65f6\u7684\u5b9e\u53c2\u786e\u5b9a\u8c03\u7528\u54ea\u4e2a\u51fd\u6570\uff08\u9759\u6001\u591a\u6001\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u91cd\u5199<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8303\u56f4<\/strong>\uff1a\u53d1\u751f\u5728\u7ee7\u627f\u5173\u7cfb\u7684\u7236\u7c7b\u548c\u5b50\u7c7b\u4e4b\u95f4\u3002<\/li>\n\n\n\n<li><strong>\u6761\u4ef6<\/strong>\uff1a\u5b50\u7c7b\u91cd\u65b0\u5b9a\u4e49\u7236\u7c7b\u4e2d\u7684<strong>\u865a\u51fd\u6570<\/strong>\u3002\u51fd\u6570\u540d\u3001\u53c2\u6570\u5217\u8868\u3001\u8fd4\u56de\u7c7b\u578b\u90fd\u5fc5\u987b\u5b8c\u5168\u76f8\u540c\uff08\u534f\u53d8\u8fd4\u56de\u7c7b\u578b\u9664\u5916\uff09\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u8fd0\u884c\u65f6\u6839\u636e\u5bf9\u8c61\u7684\u5b9e\u9645\u7c7b\u578b\u786e\u5b9a\u8c03\u7528\u54ea\u4e2a\u51fd\u6570\uff08\u52a8\u6001\u591a\u6001\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u91cd\u5b9a\u4e49<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8303\u56f4<\/strong>\uff1a\u53d1\u751f\u5728\u7ee7\u627f\u5173\u7cfb\u4e2d\u3002<\/li>\n\n\n\n<li><strong>\u6761\u4ef6<\/strong>\uff1a\u5b50\u7c7b\u91cd\u65b0\u5b9a\u4e49\u7236\u7c7b\u4e2d\u7684<strong>\u975e\u865a\u51fd\u6570<\/strong>\uff08\u51fd\u6570\u540d\u76f8\u540c\u5373\u53ef\uff0c\u53c2\u6570\u5217\u8868\u53ef\u4ee5\u4e0d\u540c\uff0c\u4f46\u8fd9\u5b9e\u9645\u4e0a\u4f1a\u9690\u85cf\u7236\u7c7b\u7684\u540c\u540d\u51fd\u6570\uff09\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u6839\u636e\u6307\u9488\u6216\u5f15\u7528\u7684\u9759\u6001\u7c7b\u578b\uff08\u7f16\u8bd1\u65f6\u7c7b\u578b\uff09\u6765\u786e\u5b9a\u8c03\u7528\u54ea\u4e2a\u51fd\u6570\uff0c\u4e0d\u6784\u6210\u591a\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">10. \u8bf4\u4e00\u8bf4strcpy\uff0csprintf\uff0cmemcpy\u8fd9\u4e09\u4e2a\u51fd\u6570\u7684\u4e0d\u540c\u4e4b\u5904<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>strcpy<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u529f\u80fd<\/strong>\uff1a\u4e13\u95e8\u7528\u4e8e<strong>\u5b57\u7b26\u4e32<\/strong>\u7684\u62f7\u8d1d\uff0c\u4ece\u6e90\u5730\u5740\u590d\u5236\u5b57\u7b26\u76f4\u5230\u9047\u5230<code>\\0<\/code>\u7ed3\u675f\u7b26\uff0c\u5e76\u4f1a\u81ea\u52a8\u5c06<code>\\0<\/code>\u4e5f\u590d\u5236\u8fc7\u53bb\u3002<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027<\/strong>\uff1a\u4e0d\u5b89\u5168\uff0c\u4e0d\u68c0\u67e5\u76ee\u6807\u7f13\u51b2\u533a\u5927\u5c0f\uff0c\u5bb9\u6613\u5bfc\u81f4\u7f13\u51b2\u533a\u6ea2\u51fa\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>sprintf<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u529f\u80fd<\/strong>\uff1a\u5c06<strong>\u683c\u5f0f\u5316<\/strong>\u7684\u6570\u636e\u5199\u5165\u4e00\u4e2a\u5b57\u7b26\u4e32\u7f13\u51b2\u533a\u3002\u529f\u80fd\u5f3a\u5927\uff0c\u53ef\u4ee5\u5c06\u6570\u5b57\u3001\u5b57\u7b26\u4e32\u7b49\u6309\u6307\u5b9a\u683c\u5f0f\u7ec4\u5408\u6210\u4e00\u4e2a\u5b57\u7b26\u4e32\u3002<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027<\/strong>\uff1a\u540c\u6837\u4e0d\u5b89\u5168\uff0c\u4e0d\u68c0\u67e5\u76ee\u6807\u7f13\u51b2\u533a\u5927\u5c0f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>memcpy<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u529f\u80fd<\/strong>\uff1a\u7528\u4e8e\u62f7\u8d1d<strong>\u4efb\u610f\u5185\u5b58\u5757<\/strong>\uff08\u4e0d\u9650\u4e8e\u5b57\u7b26\u4e32\uff09\u3002\u5b83\u6309\u5b57\u8282\u8fdb\u884c\u62f7\u8d1d\uff0c\u6307\u5b9a\u8981\u62f7\u8d1d\u7684\u5b57\u8282\u6570\uff0c\u4e0d\u5173\u5fc3\u5185\u5bb9\uff0c\u9047\u5230<code>\\0<\/code>\u4e5f\u4e0d\u4f1a\u505c\u6b62\u3002<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027<\/strong>\uff1a\u9700\u8981\u7a0b\u5e8f\u5458\u81ea\u884c\u4fdd\u8bc1\u62f7\u8d1d\u7684\u5b57\u8282\u6570\u4e0d\u8d85\u8fc7\u76ee\u6807\u7f13\u51b2\u533a\u5927\u5c0f\u3002\u9700\u8981\u6ce8\u610f<strong>\u5185\u5b58\u91cd\u53e0<\/strong>\u95ee\u9898\uff0c\u91cd\u53e0\u65f6\u4f7f\u7528<code>memmove<\/code>\u66f4\u5b89\u5168\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">11. strlen\u548csizeof\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u662f\u4e24\u4e2a\u5b8c\u5168\u4e0d\u540c\u7684\u64cd\u4f5c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>strlen<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6027\u8d28<\/strong>\uff1a\u662f\u4e00\u4e2a<strong>\u5e93\u51fd\u6570<\/strong>\uff0c\u5728\u8fd0\u884c\u65f6\u8ba1\u7b97\u3002<\/li>\n\n\n\n<li><strong>\u529f\u80fd<\/strong>\uff1a\u8ba1\u7b97\u4e00\u4e2a\u4ee5<code>\\0<\/code>\u7ed3\u5c3e\u7684<strong>\u5b57\u7b26\u4e32<\/strong>\u7684<strong>\u957f\u5ea6<\/strong>\uff08\u4e0d\u5305\u542b\u7ed3\u5c3e\u7684<code>\\0<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u53c2\u6570<\/strong>\uff1a\u5fc5\u987b\u662f<code>const char*<\/code>\uff08\u6307\u5411\u5b57\u7b26\u4e32\u7684\u6307\u9488\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>sizeof<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6027\u8d28<\/strong>\uff1a\u662f\u4e00\u4e2a<strong>\u8fd0\u7b97\u7b26<\/strong>\uff0c\u5728\u7f16\u8bd1\u65f6\u786e\u5b9a\u7ed3\u679c\u3002<\/li>\n\n\n\n<li><strong>\u529f\u80fd<\/strong>\uff1a\u8ba1\u7b97\u4e00\u4e2a<strong>\u7c7b\u578b<\/strong>\u6216\u4e00\u4e2a<strong>\u5bf9\u8c61<\/strong>\u6240\u5360\u7528\u7684<strong>\u5185\u5b58\u5b57\u8282\u6570<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u53c2\u6570<\/strong>\uff1a\u53ef\u4ee5\u662f\u7c7b\u578b\u6216\u8868\u8fbe\u5f0f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u793a\u4f8b<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dchar str[] = &#8220;hello&#8221;;<br>cout &lt;&lt; strlen(str); \/\/ \u8f93\u51fa 5<br>cout &lt;&lt; sizeof(str); \/\/ \u8f93\u51fa 6 (\u5305\u542b\u7ed3\u5c3e\u7684\\0)<br>\u200b<br>char* ptr = str;<br>cout &lt;&lt; strlen(ptr); \/\/ \u8f93\u51fa 5<br>cout &lt;&lt; sizeof(ptr); \/\/ \u8f93\u51fa 4\u62168 (\u6307\u9488\u53d8\u91cf\u672c\u8eab\u7684\u5927\u5c0f)<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">12. \u4e8c\u7ef4\u6570\u7ec4\u662f\u4ec0\u4e48\uff0c\u51fd\u6570\u6307\u9488\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e8c\u7ef4\u6570\u7ec4<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u662f\u4e00\u4e2a&#8221;\u6570\u7ec4\u7684\u6570\u7ec4&#8221;\u3002\u5728\u5185\u5b58\u4e2d\u662f<strong>\u8fde\u7eed\u5b58\u50a8<\/strong>\u7684\uff0c\u6309\u884c\u4f18\u5148\u6392\u5217\u3002<\/li>\n\n\n\n<li><strong>\u58f0\u660e<\/strong>\uff1a<code>int arr[3][4];<\/code> \u8868\u793a\u4e00\u4e2a3\u884c4\u5217\u7684\u6574\u578b\u6570\u7ec4\u3002<\/li>\n\n\n\n<li><strong>\u8bbf\u95ee<\/strong>\uff1a<code>arr[i][j]<\/code> \u7b49\u4ef7\u4e8e <code>*(*(arr + i) + j)<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u6307\u9488<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u662f\u4e00\u4e2a\u6307\u5411\u51fd\u6570\u7684\u6307\u9488\u53d8\u91cf\u3002\u5b83\u5b58\u50a8\u7684\u662f\u51fd\u6570\u4ee3\u7801\u7684\u5165\u53e3\u5730\u5740\u3002<\/li>\n\n\n\n<li><strong>\u58f0\u660e<\/strong>\uff1a<code>\u8fd4\u56de\u7c7b\u578b (*\u6307\u9488\u53d8\u91cf\u540d)(\u53c2\u6570\u5217\u8868);<\/code> \u4f8b\u5982\uff1a<code>int (*funcPtr)(int, int);<\/code> \u6307\u5411\u4e00\u4e2a\u63a5\u53d7\u4e24\u4e2aint\u53c2\u6570\u5e76\u8fd4\u56deint\u7684\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u7528\u9014<\/strong>\uff1a\u7528\u4e8e\u5b9e\u73b0<strong>\u56de\u8c03\u51fd\u6570<\/strong>\u3001\u51fd\u6570\u8868\u7b49\uff0c\u662fC\/C++\u4e2d\u5b9e\u73b0\u52a8\u6001\u884c\u4e3a\u7684\u91cd\u8981\u673a\u5236\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">13. \u7b80\u8ff0\u503c\u4f20\u9012\uff0c\u6307\u9488\u4f20\u9012\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u503c\u4f20\u9012<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u673a\u5236<\/strong>\uff1a\u5c06\u5b9e\u53c2\u7684<strong>\u62f7\u8d1d<\/strong>\u4f20\u9012\u7ed9\u5f62\u53c2\u3002\u51fd\u6570\u5185\u90e8\u5bf9\u5f62\u53c2\u7684\u4efb\u4f55\u4fee\u6539\u90fd<strong>\u4e0d\u4f1a\u5f71\u54cd<\/strong>\u539f\u59cb\u5b9e\u53c2\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u7b80\u5355\uff0c\u907f\u514d\u4e86\u51fd\u6570\u610f\u5916\u4fee\u6539\u5916\u90e8\u53d8\u91cf\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u5bf9\u4e8e\u5927\u578b\u7ed3\u6784\u4f53\u6216\u5bf9\u8c61\uff0c\u62f7\u8d1d\u5f00\u9500\u5927\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6307\u9488\u4f20\u9012<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u673a\u5236<\/strong>\uff1a\u5c06\u5b9e\u53c2\u7684<strong>\u5730\u5740<\/strong>\u4f20\u9012\u7ed9\u5f62\u53c2\uff08\u5f62\u53c2\u662f\u6307\u9488\u7c7b\u578b\uff09\u3002\u51fd\u6570\u5185\u90e8\u901a\u8fc7\u89e3\u5f15\u7528\u6307\u9488\u6765<strong>\u76f4\u63a5\u64cd\u4f5c<\/strong>\u539f\u59cb\u5b9e\u53c2\u6240\u5728\u7684\u5185\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u6548\u7387\u9ad8\uff0c\u65e0\u9700\u62f7\u8d1d\u5927\u91cf\u6570\u636e\uff1b\u51fd\u6570\u53ef\u4ee5\u4fee\u6539\u5916\u90e8\u53d8\u91cf\u7684\u503c\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u8bed\u6cd5\u7a0d\u590d\u6742\uff1b\u9700\u8981\u8b66\u60d5\u7a7a\u6307\u9488\u548c\u91ce\u6307\u9488\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">14. C++\u4e2dconst\u5173\u952e\u5b57\u7684\u4f5c\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>const<\/code>\u7528\u4e8e\u5b9a\u4e49\u5e38\u91cf\uff0c\u8868\u793a&#8221;\u53ea\u8bfb&#8221;\u3002\u5176\u4e3b\u8981\u4f5c\u7528\u6709\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4fee\u9970\u53d8\u91cf<\/strong>\uff1a\u53d8\u91cf\u503c\u5728\u521d\u59cb\u5316\u540e\u4e0d\u53ef\u4fee\u6539\u3002<code>const int a = 10;<\/code><\/li>\n\n\n\n<li><strong>\u4fee\u9970\u6307\u9488<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>const int* p<\/code> \u6216 <code>int const* p<\/code>\uff1a\u6307\u5411\u5e38\u91cf\u7684\u6307\u9488\uff08\u6307\u9488\u6307\u5411\u7684\u5185\u5bb9\u4e0d\u53ef\u53d8\uff09\u3002<\/li>\n\n\n\n<li><code>int* const p<\/code>\uff1a\u6307\u9488\u5e38\u91cf\uff08\u6307\u9488\u672c\u8eab\u6307\u5411\u7684\u5730\u5740\u4e0d\u53ef\u53d8\uff09\u3002<\/li>\n\n\n\n<li><code>const int* const p<\/code>\uff1a\u6307\u5411\u5e38\u91cf\u7684\u6307\u9488\u5e38\u91cf\uff08\u4e24\u8005\u90fd\u4e0d\u53ef\u53d8\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4fee\u9970\u51fd\u6570\u53c2\u6570<\/strong>\uff1a\u9632\u6b62\u51fd\u6570\u5185\u90e8\u4fee\u6539\u53c2\u6570\u503c\uff0c\u63d0\u9ad8\u4ee3\u7801\u53ef\u8bfb\u6027\u548c\u5b89\u5168\u6027\u3002<code>void func(const MyClass&amp; obj);<\/code><\/li>\n\n\n\n<li><strong>\u4fee\u9970\u51fd\u6570\u8fd4\u56de\u503c<\/strong>\uff1a\u8868\u793a\u8fd4\u56de\u503c\u662f\u5e38\u91cf\uff0c\u4e0d\u53ef\u4fee\u6539\u3002<code>const int&amp; getValue();<\/code><\/li>\n\n\n\n<li><strong>\u4fee\u9970\u6210\u5458\u51fd\u6570<\/strong>\uff1a<strong>\u5e38\u6210\u5458\u51fd\u6570<\/strong>\uff0c\u627f\u8bfa\u4e0d\u4f1a\u4fee\u6539\u7c7b\u7684\u6210\u5458\u53d8\u91cf\uff08\u9664\u975e\u6210\u5458\u88ab<code>mutable<\/code>\u4fee\u9970\uff09\u3002<code>void display() const;<\/code><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">15. C++\u4e2dstatic\u5173\u952e\u5b57\u7684\u4f5c\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>static<\/code>\u7684\u542b\u4e49\u662f&#8221;\u9759\u6001\u7684&#8221;\uff0c\u5176\u4f5c\u7528\u56e0\u4e0a\u4e0b\u6587\u800c\u5f02\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5728\u51fd\u6570\u5185\uff08\u5c40\u90e8\u53d8\u91cf\uff09<\/strong>\uff1a\u5c06\u53d8\u91cf\u7684\u751f\u547d\u5468\u671f\u5ef6\u957f\u81f3\u6574\u4e2a\u7a0b\u5e8f\u8fd0\u884c\u671f\uff0c\u4f46\u4f5c\u7528\u57df\u4ecd\u5c40\u9650\u4e8e\u8be5\u51fd\u6570\u5185\u3002\u6bcf\u6b21\u51fd\u6570\u8c03\u7528\u90fd\u8bbf\u95ee\u540c\u4e00\u4e2a\u53d8\u91cf\u3002<\/li>\n\n\n\n<li><strong>\u5728\u5168\u5c40\u4f5c\u7528\u57df\uff08\u5168\u5c40\u53d8\u91cf\/\u51fd\u6570\uff09<\/strong>\uff1a\u5c06\u53d8\u91cf\u6216\u51fd\u6570\u7684\u4f5c\u7528\u57df\u9650\u5236\u5728<strong>\u5f53\u524d\u6587\u4ef6\u5185<\/strong>\uff08\u5185\u90e8\u94fe\u63a5\uff09\uff0c\u907f\u514d\u4e0e\u5176\u4ed6\u6587\u4ef6\u4e2d\u7684\u540c\u540d\u7b26\u53f7\u51b2\u7a81\u3002<\/li>\n\n\n\n<li><strong>\u5728\u7c7b\u4e2d\uff08\u9759\u6001\u6210\u5458\u53d8\u91cf\uff09<\/strong>\uff1a\u8be5\u6210\u5458\u53d8\u91cf\u5c5e\u4e8e\u7c7b\u672c\u8eab\uff0c\u800c\u4e0d\u662f\u67d0\u4e2a\u5bf9\u8c61\u3002\u6240\u6709\u5bf9\u8c61\u5171\u4eab\u540c\u4e00\u4efd\u9759\u6001\u6210\u5458\u53d8\u91cf\u3002\u5fc5\u987b\u5728\u7c7b\u5916\u5355\u72ec\u5b9a\u4e49\u3002<\/li>\n\n\n\n<li><strong>\u5728\u7c7b\u4e2d\uff08\u9759\u6001\u6210\u5458\u51fd\u6570\uff09<\/strong>\uff1a\u8be5\u51fd\u6570\u5c5e\u4e8e\u7c7b\u672c\u8eab\uff0c\u4e0d\u80fd\u8bbf\u95ee\u7c7b\u7684\u975e\u9759\u6001\u6210\u5458\uff08\u56e0\u4e3a\u6ca1\u6709<code>this<\/code>\u6307\u9488\uff09\u3002\u53ef\u4ee5\u901a\u8fc7\u7c7b\u540d\u76f4\u63a5\u8c03\u7528\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">16. C++\u4e2dclass\u548cstruct\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728C++\u4e2d\uff0c<code>class<\/code>\u548c<code>struct<\/code>\u7684\u552f\u4e00\u533a\u522b\u662f<strong>\u9ed8\u8ba4\u7684\u6210\u5458\u8bbf\u95ee\u6743\u9650<\/strong>\u548c<strong>\u9ed8\u8ba4\u7684\u7ee7\u627f\u65b9\u5f0f<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>struct<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9ed8\u8ba4\u6210\u5458\u8bbf\u95ee\u6743\u9650\u662f<strong>public<\/strong>\u3002<\/li>\n\n\n\n<li>\u9ed8\u8ba4\u7ee7\u627f\u65b9\u5f0f\u662f<strong>public\u7ee7\u627f<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>class<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9ed8\u8ba4\u6210\u5458\u8bbf\u95ee\u6743\u9650\u662f<strong>private<\/strong>\u3002<\/li>\n\n\n\n<li>\u9ed8\u8ba4\u7ee7\u627f\u65b9\u5f0f\u662f<strong>private\u7ee7\u627f<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e60\u60ef\u7528\u6cd5<\/strong>\uff1a<code>struct<\/code>\u901a\u5e38\u7528\u4e8e\u8868\u793a\u7eaf\u7cb9\u7684\u6570\u636e\u7ed3\u6784\uff08POD, Plain Old Data\uff09\uff0c\u800c<code>class<\/code>\u7528\u4e8e\u8868\u793a\u5177\u6709\u6570\u636e\u548c\u884c\u4e3a\u7684\u5bf9\u8c61\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">17. \u5355\u4f8b\u7684\u81ea\u52a8\u91ca\u653e<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5355\u4f8b\u6a21\u5f0f\u786e\u4fdd\u4e00\u4e2a\u7c7b\u53ea\u6709\u4e00\u4e2a\u5b9e\u4f8b\u3002\u4e3a\u4e86\u907f\u514d\u5185\u5b58\u6cc4\u6f0f\uff0c\u9700\u8981\u5728\u7a0b\u5e8f\u7ed3\u675f\u65f6\u81ea\u52a8\u91ca\u653e\u5355\u4f8b\u5bf9\u8c61\u3002\u5e38\u89c1\u65b9\u6cd5\u6709\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u9759\u6001\u5c40\u90e8\u53d8\u91cf\uff08Meyer&#8217;s Singleton\uff09<\/strong>\uff1a\u5229\u7528\u5c40\u90e8\u9759\u6001\u53d8\u91cf\u5728\u7b2c\u4e00\u6b21\u8fdb\u5165\u4f5c\u7528\u57df\u65f6\u521d\u59cb\u5316\uff0c\u7a0b\u5e8f\u7ed3\u675f\u65f6\u81ea\u52a8\u6790\u6784\u7684\u7279\u6027\u3002\u8fd9\u662fC++11\u4e4b\u540e\u6700\u63a8\u8350\u7684\u65b9\u5f0f\uff0c\u7ebf\u7a0b\u5b89\u5168\u3002cpp\u590d\u5236\u4e0b\u8f7dclass Singleton {<br>public:<br>\u00a0 static Singleton&amp; getInstance() {<br>\u00a0 \u00a0 \u00a0 static Singleton instance; \/\/ \u7ebf\u7a0b\u5b89\u5168\uff08C++11\u8d77\uff09<br>\u00a0 \u00a0 \u00a0 return instance;<br>\u00a0 }<br>private:<br>\u00a0 Singleton() = default;<br>\u00a0 ~Singleton() = default;<br>\u00a0 \/\/ \u7981\u6b62\u62f7\u8d1d\u548c\u8d4b\u503c<br>};<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u667a\u80fd\u6307\u9488<\/strong>\uff1a\u5728<code>getInstance<\/code>\u4e2d\uff0c\u4f7f\u7528\u4e00\u4e2a<code>static std::unique_ptr<\/code>\u6216<code>static std::shared_ptr<\/code>\u6765\u7ba1\u7406\u5355\u4f8b\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528atexit<\/strong>\uff1a\u5728\u521b\u5efa\u5355\u4f8b\u540e\uff0c\u4f7f\u7528<code>std::atexit<\/code>\u6ce8\u518c\u4e00\u4e2a\u6e05\u7406\u51fd\u6570\uff0c\u5728\u7a0b\u5e8f\u9000\u51fa\u65f6\u8c03\u7528\u8be5\u51fd\u6570\u6765\u9500\u6bc1\u5355\u4f8b\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">18. \u6572\u4ee3\u7801 &#8211; \u5355\u4f8b\u7684\u4e09\u79cd\u7ebf\u7a0b\u5b89\u5168\u7684\u5b9e\u73b0\u65b9\u5f0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u65b9\u5f0f\u4e00\uff1a\u5c40\u90e8\u9759\u6001\u53d8\u91cf\uff08C++11\u8d77\uff0c\u6700\u4f73\u5b9e\u8df5\uff09<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Singleton {<br>public:<br> &nbsp;  static Singleton&amp; getInstance() {<br> &nbsp; &nbsp; &nbsp;  static Singleton instance; \/\/ C++11\u4fdd\u8bc1\u521d\u59cb\u5316\u662f\u7ebf\u7a0b\u5b89\u5168\u7684<br> &nbsp; &nbsp; &nbsp;  return instance;<br> &nbsp;  }<br> &nbsp;  void doSomething() {}<br>private:<br> &nbsp;  Singleton() = default;<br> &nbsp;  ~Singleton() = default;<br> &nbsp;  Singleton(const Singleton&amp;) = delete;<br> &nbsp;  Singleton&amp; operator=(const Singleton&amp;) = delete;<br>};<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u65b9\u5f0f\u4e8c\uff1a\u53cc\u91cd\u68c0\u67e5\u9501\u5b9a\uff08DCLP\uff0c\u9002\u7528\u4e8eC++11\u524d\uff0c\u73b0\u4ee3C++\u4e2d\u5df2\u4e0d\u5e38\u7528\uff09<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Singleton {<br>public:<br> &nbsp;  static Singleton* getInstance() {<br> &nbsp; &nbsp; &nbsp;  if (instance_ == nullptr) { \/\/ \u7b2c\u4e00\u6b21\u68c0\u67e5\uff0c\u907f\u514d\u6bcf\u6b21\u52a0\u9501<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::lock_guard&lt;std::mutex&gt; lock(mutex_);<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  if (instance_ == nullptr) { \/\/ \u7b2c\u4e8c\u6b21\u68c0\u67e5\uff0c\u786e\u4fdd\u552f\u4e00\u6027<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  instance_ = new Singleton();<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  }<br> &nbsp; &nbsp; &nbsp;  }<br> &nbsp; &nbsp; &nbsp;  return instance_;<br> &nbsp;  }<br>private:<br> &nbsp;  static Singleton* instance_;<br> &nbsp;  static std::mutex mutex_;<br> &nbsp;  Singleton() = default;<br> &nbsp;  ~Singleton() = default;<br>};<br>\/\/ \u9700\u8981\u5728\u7c7b\u5916\u5b9a\u4e49\u9759\u6001\u6210\u5458<br>Singleton* Singleton::instance_ = nullptr;<br>std::mutex Singleton::mutex_;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u65b9\u5f0f\u4e09\uff1a\u997f\u6c49\u5f0f\uff08\u7a0b\u5e8f\u542f\u52a8\u5373\u521d\u59cb\u5316\uff0c\u7ebf\u7a0b\u5b89\u5168\uff09<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Singleton {<br>public:<br> &nbsp;  static Singleton&amp; getInstance() {<br> &nbsp; &nbsp; &nbsp;  return instance_;<br> &nbsp;  }<br>private:<br> &nbsp;  static Singleton instance_; \/\/ \u9759\u6001\u6210\u5458\uff0c\u7a0b\u5e8f\u5f00\u59cb\u65f6\u5c31\u521d\u59cb\u5316<br> &nbsp;  Singleton() = default;<br> &nbsp;  ~Singleton() = default;<br>};<br>\/\/ \u5728\u7c7b\u5916\u5b9a\u4e49\u5e76\u521d\u59cb\u5316\u9759\u6001\u6210\u5458<br>Singleton Singleton::instance_;<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">19. string\u7684\u5e95\u5c42\u5b9e\u73b0\u539f\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u73b0\u4ee3C++\u6807\u51c6\u5e93\u4e2d\u7684<code>std::string<\/code>\u901a\u5e38\u91c7\u7528\u4e00\u79cd\u79f0\u4e3a<strong>\u77ed\u5b57\u7b26\u4e32\u4f18\u5316<\/strong>\u7684\u5b9e\u73b0\u7b56\u7565\u3002\u5176\u5e95\u5c42\u4e00\u822c\u5305\u542b\u4e09\u4e2a\u6210\u5458\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e00\u4e2a\u6307\u9488<\/strong>\uff1a\u6307\u5411\u52a8\u6001\u5206\u914d\u7684\u5806\u5185\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u4e2a\u5927\u5c0f<\/strong>\uff1a\u5b58\u50a8\u5b57\u7b26\u4e32\u7684\u5b9e\u9645\u957f\u5ea6\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u4e2a\u5bb9\u91cf<\/strong>\uff1a\u5b58\u50a8\u5f53\u524d\u5206\u914d\u7684\u5185\u5b58\u80fd\u5bb9\u7eb3\u7684\u5b57\u7b26\u603b\u6570\uff08\u4e0d\u5305\u62ec<code>\\0<\/code>\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SSO<\/strong>\uff1a\u5bf9\u4e8e\u8f83\u77ed\u7684\u5b57\u7b26\u4e32\uff08\u4f8b\u598215\u621622\u4e2a\u5b57\u7b26\uff0c\u53d6\u51b3\u4e8e\u5b9e\u73b0\uff09\uff0c\u4e3a\u4e86\u4f18\u5316\u6027\u80fd\uff0c\u4e0d\u4f1a\u5728\u5806\u4e0a\u5206\u914d\u5185\u5b58\uff0c\u800c\u662f\u76f4\u63a5\u5b58\u50a8\u5728<code>string<\/code>\u5bf9\u8c61\u81ea\u8eab\u7684\u6808\u5185\u5b58\u7a7a\u95f4\u4e2d\u3002\u8fd9\u907f\u514d\u4e86\u5c0f\u5b57\u7b26\u4e32\u52a8\u6001\u5206\u914d\u7684\u5f00\u9500\u3002<\/li>\n\n\n\n<li>\u56e0\u6b64\uff0c<code>string<\/code>\u5bf9\u8c61\u7684\u5927\u5c0f\u662f\u56fa\u5b9a\u7684\uff08\u901a\u5e38\u662f<code>sizeof(\u6307\u9488) + sizeof(size_t) * 2<\/code>\u518d\u52a0\u4e0aSSO\u7684\u7f13\u51b2\u533a\uff09\uff0c\u4e0e\u5b57\u7b26\u4e32\u5185\u5bb9\u7684\u957f\u77ed\u65e0\u5173\uff08\u9664\u975e\u8d85\u8fc7SSO\u9608\u503c\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">20. COW<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5168\u79f0<\/strong>\uff1aCopy-On-Write\uff0c\u5199\u65f6\u590d\u5236\u3002<\/li>\n\n\n\n<li><strong>\u539f\u7406<\/strong>\uff1a\u4e00\u79cd\u4f18\u5316\u7b56\u7565\u3002\u5f53\u591a\u4e2a\u5bf9\u8c61\u5171\u4eab\u540c\u4e00\u4efd\u8d44\u6e90\u65f6\uff0c\u6700\u521d\u5e76\u4e0d\u8fdb\u884c\u5b9e\u9645\u7684\u62f7\u8d1d\uff0c\u53ea\u662f\u5171\u4eab\u3002\u53ea\u6709\u5f53\u67d0\u4e2a\u5bf9\u8c61\u9700\u8981<strong>\u4fee\u6539<\/strong>\u8fd9\u4efd\u8d44\u6e90\u65f6\uff0c\u624d\u771f\u6b63\u5730\u4e3a\u8be5\u5bf9\u8c61\u521b\u5efa\u4e00\u4efd\u8d44\u6e90\u7684\u79c1\u6709\u526f\u672c\u8fdb\u884c\u4fee\u6539\u3002<\/li>\n\n\n\n<li><strong>\u5728C++\u4e2d\u7684\u5e94\u7528<\/strong>\uff1a\u65e9\u671f\u7684\u4e00\u4e9b<code>std::string<\/code>\u5b9e\u73b0\uff08\u5982GCC 4.x\u4e4b\u524d\uff09\u4f7f\u7528COW\u6765\u4f18\u5316\u5b57\u7b26\u4e32\u62f7\u8d1d\u3002\u62f7\u8d1d\u4e00\u4e2a\u5b57\u7b26\u4e32\u65f6\uff0c\u53ea\u62f7\u8d1d\u6307\u9488\uff0c\u5f15\u7528\u8ba1\u6570\u52a0\u4e00\uff0c\u975e\u5e38\u9ad8\u6548\u3002\u53ea\u6709\u5f53\u5176\u4e2d\u4e00\u4e2a\u5b57\u7b26\u4e32\u88ab\u4fee\u6539\u65f6\uff0c\u624d\u8fdb\u884c\u6df1\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u591a\u7ebf\u7a0b\u73af\u5883\u4e0b\uff0c\u9700\u8981\u539f\u5b50\u64cd\u4f5c\u6765\u7ef4\u62a4\u5f15\u7528\u8ba1\u6570\uff0c\u6709\u6027\u80fd\u5f00\u9500\u3002<\/li>\n\n\n\n<li>&#8220;\u8bfb\u64cd\u4f5c&#8221;\u4e5f\u53ef\u80fd\u56e0\u4e3a\u5224\u65ad\u662f\u5426\u9700\u8981COW\u800c\u5e26\u6765\u8f7b\u5fae\u5f00\u9500\u3002<\/li>\n\n\n\n<li>\u4e0d\u7b26\u5408C++11\u6807\u51c6\u5bf9\u8fed\u4ee3\u5668\u5931\u6548\u7684\u8981\u6c42\u3002\u56e0\u6b64\uff0c\u73b0\u4ee3C++\u6807\u51c6\u5e93\u7684\u5b9e\u73b0\u5df2\u5f88\u5c11\u4f7f\u7528COW\uff0c\u8f6c\u800c\u4f7f\u7528SSO\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">21. oversee\uff0coverload\uff0coverride\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>override<\/code><\/strong>\uff1a\u8fd9\u662fC++11\u5f15\u5165\u7684\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u660e\u786e\u8868\u793a\u4e00\u4e2a\u51fd\u6570\u662f<strong>\u91cd\u5199<\/strong>\u57fa\u7c7b\u7684\u865a\u51fd\u6570\u3002\u5b83\u5e2e\u52a9\u7f16\u8bd1\u5668\u68c0\u67e5\u51fd\u6570\u7b7e\u540d\u662f\u5426\u4e0e\u57fa\u7c7b\u7684\u865a\u51fd\u6570\u5b8c\u5168\u5339\u914d\uff0c\u5982\u679c\u4e0d\u5339\u914d\u5219\u4f1a\u62a5\u9519\uff0c\u9632\u6b62\u56e0\u62fc\u5199\u9519\u8bef\u7b49\u610f\u5916\u60c5\u51b5\u5bfc\u81f4\u6ca1\u6709\u6210\u529f\u91cd\u5199\u3002\u8fd9\u662f\u4e00\u4e2a<strong>\u63cf\u8ff0\u6027\/\u8f85\u52a9\u6027<\/strong>\u7684\u5173\u952e\u5b57\u3002<\/li>\n\n\n\n<li><strong><code>overload<\/code><\/strong>\uff1a<strong>\u91cd\u8f7d<\/strong>\u3002\u6307\u5728<strong>\u540c\u4e00\u4f5c\u7528\u57df<\/strong>\u5185\uff0c\u51fd\u6570\u540d\u76f8\u540c\u4f46\u53c2\u6570\u5217\u8868\u4e0d\u540c\u7684\u591a\u4e2a\u51fd\u6570\u3002\u5b83\u662f\u4e00\u4e2a<strong>\u6982\u5ff5<\/strong>\uff0c\u4e0d\u662f\u5173\u952e\u5b57\u3002<\/li>\n\n\n\n<li><strong><code>overseer<\/code><\/strong>\uff1a<strong>\u8fd9\u4e0d\u662fC++\u4e2d\u7684\u6807\u51c6\u672f\u8bed<\/strong>\u3002\u53ef\u80fd\u662f\u4e00\u4e2a\u7b14\u8bef\u6216\u6df7\u6dc6\u3002\u6b63\u786e\u7684\u672f\u8bed\u662f<strong>\u91cd\u5199<\/strong>\uff0c\u5373<code>override<\/code>\u6240\u63cf\u8ff0\u7684\u884c\u4e3a\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">22. \u4ec0\u4e48\u662f\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u7528<code>virtual<\/code>\u5173\u952e\u5b57\u4fee\u9970\u7684\u6210\u5458\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u76ee\u7684<\/strong>\uff1a\u4e3a\u4e86\u5b9e\u73b0<strong>\u8fd0\u884c\u65f6\u591a\u6001<\/strong>\u3002\u5141\u8bb8\u5728\u57fa\u7c7b\u4e2d\u5b9a\u4e49\u4e00\u4e2a\u51fd\u6570\u7684\u63a5\u53e3\uff0c\u800c\u5728\u6d3e\u751f\u7c7b\u4e2d\u63d0\u4f9b\u4e0d\u540c\u7684\u5b9e\u73b0\u3002\u5f53\u901a\u8fc7\u57fa\u7c7b\u7684\u6307\u9488\u6216\u5f15\u7528\u8c03\u7528\u865a\u51fd\u6570\u65f6\uff0c\u7a0b\u5e8f\u4f1a\u6839\u636e\u6307\u9488\u6216\u5f15\u7528\u6240\u6307\u5411\u7684<strong>\u5b9e\u9645\u5bf9\u8c61\u7c7b\u578b<\/strong>\u6765\u51b3\u5b9a\u8c03\u7528\u54ea\u4e2a\u7248\u672c\u7684\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u6838\u5fc3\u673a\u5236<\/strong>\uff1a\u865a\u51fd\u6570\u901a\u8fc7<strong>\u865a\u51fd\u6570\u8868<\/strong>\u6765\u5b9e\u73b0\u3002\u6bcf\u4e2a\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\uff08\u6216\u6709\u865a\u57fa\u7c7b\u7684\u7c7b\uff09\u90fd\u6709\u4e00\u4e2a<code>vtable<\/code>\uff0c\u8868\u4e2d\u5b58\u653e\u7740\u8be5\u7c7b\u865a\u51fd\u6570\u7684\u5730\u5740\u3002\u6bcf\u4e2a\u5bf9\u8c61\u5185\u90e8\u6709\u4e00\u4e2a\u9690\u85cf\u7684\u6307\u9488<code>vptr<\/code>\uff0c\u6307\u5411\u5176\u6240\u5c5e\u7c7b\u7684<code>vtable<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">23. \u591a\u6001\u7684\u4f7f\u7528\u6761\u4ef6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8981\u4f7f\u7528C++\u7684<strong>\u52a8\u6001\u591a\u6001<\/strong>\uff08\u8fd0\u884c\u65f6\u591a\u6001\uff09\uff0c\u5fc5\u987b\u540c\u65f6\u6ee1\u8db3\u4ee5\u4e0b\u4e09\u4e2a\u6761\u4ef6\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7ee7\u627f<\/strong>\uff1a\u5fc5\u987b\u5b58\u5728\u7c7b\u7684\u7ee7\u627f\u5173\u7cfb\u3002<\/li>\n\n\n\n<li><strong>\u865a\u51fd\u6570\u91cd\u5199<\/strong>\uff1a\u57fa\u7c7b\u4e2d\u5fc5\u987b\u6709\u865a\u51fd\u6570\uff0c\u5e76\u4e14\u6d3e\u751f\u7c7b\u4e2d\u8981\u5bf9\u8fd9\u4e2a\u865a\u51fd\u6570\u8fdb\u884c<strong>\u91cd\u5199<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u57fa\u7c7b\u6307\u9488\/\u5f15\u7528\u8c03\u7528<\/strong>\uff1a\u5fc5\u987b\u901a\u8fc7<strong>\u57fa\u7c7b\u7684\u6307\u9488<\/strong>\u6216<strong>\u57fa\u7c7b\u7684\u5f15\u7528<\/strong>\u6765\u8c03\u7528\u8fd9\u4e2a\u865a\u51fd\u6570\u3002\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u901a\u8fc7\u5bf9\u8c61\u672c\u8eab\u8c03\u7528\uff0c\u5c5e\u4e8e\u9759\u6001\u7ed1\u5b9a\uff0c\u4e0d\u4f1a\u6709\u591a\u6001\u6548\u679c\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">24. \u865a\u51fd\u6570\u7684\u539f\u7406\u662f\u4ec0\u4e48\/\u5de5\u4f5c\u673a\u5236<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u865a\u51fd\u6570\u7684\u539f\u7406\u57fa\u4e8e<strong>\u865a\u51fd\u6570\u8868<\/strong>\u548c<strong>\u865a\u51fd\u6570\u8868\u6307\u9488<\/strong>\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u865a\u51fd\u6570\u8868<\/strong>\uff1a\u7f16\u8bd1\u5668\u4f1a\u4e3a\u6bcf\u4e00\u4e2a\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\uff08\u6216\u8005\u4ece\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\u6d3e\u751f\u800c\u6765\u7684\u7c7b\uff09\u521b\u5efa\u4e00\u4e2a<strong>\u865a\u51fd\u6570\u8868<\/strong>\u3002\u8fd9\u4e2a\u8868\u662f\u4e00\u4e2a\u51fd\u6570\u6307\u9488\u6570\u7ec4\uff0c\u5176\u4e2d\u7684\u6bcf\u4e2a\u5143\u7d20\u6307\u5411\u8be5\u7c7b\u7684\u4e00\u4e2a\u865a\u51fd\u6570\u7684\u5b9e\u9645\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li><strong>\u865a\u51fd\u6570\u8868\u6307\u9488<\/strong>\uff1a\u7f16\u8bd1\u5668\u4f1a\u5411\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\u7684\u5bf9\u8c61\u4e2d\uff0c\u9690\u5f0f\u5730\u6dfb\u52a0\u4e00\u4e2a\u6210\u5458\u53d8\u91cf\uff0c\u901a\u5e38\u79f0\u4e3a<code>vptr<\/code>\u3002\u8fd9\u4e2a\u6307\u9488\u5728\u5bf9\u8c61\u6784\u9020\u65f6\u88ab\u8bbe\u7f6e\uff0c\u6307\u5411\u8be5\u5bf9\u8c61\u6240\u5c5e\u7c7b\u7684\u865a\u51fd\u6570\u8868\u3002<\/li>\n\n\n\n<li><strong>\u8c03\u7528\u8fc7\u7a0b<\/strong>\uff1a\u5f53\u901a\u8fc7\u57fa\u7c7b\u6307\u9488\u8c03\u7528\u865a\u51fd\u6570\u65f6\uff08\u4f8b\u5982<code>basePtr->virtualFunc();<\/code>\uff09\uff0c\u7f16\u8bd1\u5668\u4f1a\u751f\u6210\u4ee3\u7801\u6765\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\uff1a a. \u901a\u8fc7<code>basePtr<\/code>\u627e\u5230\u5bf9\u8c61\u5185\u90e8\u7684<code>vptr<\/code>\u3002 b. \u901a\u8fc7<code>vptr<\/code>\u627e\u5230\u8be5\u5bf9\u8c61\u6240\u5c5e\u7c7b\u7684<code>vtable<\/code>\u3002 c. \u5728<code>vtable<\/code>\u4e2d\u627e\u5230<code>virtualFunc<\/code>\u5bf9\u5e94\u7684\u69fd\u4f4d\uff08\u7d22\u5f15\u5728\u7f16\u8bd1\u65f6\u786e\u5b9a\uff09\u3002 d. \u8c03\u7528\u8be5\u69fd\u4f4d\u4e2d\u5b58\u50a8\u7684\u51fd\u6570\u5730\u5740\u3002 \u8fd9\u4e2a\u8fc7\u7a0b\u53d1\u751f\u5728\u8fd0\u884c\u65f6\uff0c\u56e0\u6b64\u80fd\u591f\u6839\u636e\u5bf9\u8c61\u7684\u5b9e\u9645\u7c7b\u578b\u6765\u8c03\u7528\u6b63\u786e\u7684\u51fd\u6570\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">25. const\u5728\u4e8c\u7ea7\u6307\u9488\u7684\u5e94\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>const<\/code>\u4fee\u9970\u4e8c\u7ea7\u6307\u9488\u65f6\uff0c\u4f4d\u7f6e\u4e0d\u540c\uff0c\u542b\u4e49\u4e5f\u4e0d\u540c\u3002\u8003\u8651<code>int **pp<\/code>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>const int** pp<\/code>\uff1a\u6307\u5411<code>const int*<\/code>\u7684\u6307\u9488\u3002\u4e0d\u80fd\u901a\u8fc7<code>pp<\/code>\u4fee\u6539\u5176\u6240\u6307\u5411\u7684<code>int<\/code>\u503c\uff08\u5373<code>**pp = 10;<\/code>\u662f\u975e\u6cd5\u7684\uff09\uff0c\u4f46\u53ef\u4ee5\u4fee\u6539<code>pp<\/code>\u672c\u8eab\u6307\u5411\u54ea\u4e2a<code>int*<\/code>\u3002<\/li>\n\n\n\n<li><code>int* const* pp<\/code>\uff1a\u6307\u5411<code>int* const<\/code>\uff08\u5e38\u91cf\u6307\u9488\uff09\u7684\u6307\u9488\u3002<code>pp<\/code>\u6307\u5411\u7684<code>int*<\/code>\u672c\u8eab\u662f\u5e38\u91cf\uff08\u5373<code>*pp = &amp;some_int;<\/code>\u662f\u975e\u6cd5\u7684\uff09\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2a\u5e38\u91cf\u6307\u9488\u4fee\u6539\u5b83\u6240\u6307\u5411\u7684<code>int<\/code>\u503c\uff08\u5373<code>**pp = 10;<\/code>\u662f\u5408\u6cd5\u7684\uff09\u3002<\/li>\n\n\n\n<li><code>int** const pp<\/code>\uff1a<code>pp<\/code>\u672c\u8eab\u662f\u4e00\u4e2a\u5e38\u91cf\u6307\u9488\u3002<code>pp<\/code>\u7684\u6307\u5411\u4e0d\u80fd\u6539\u53d8\uff08\u5373<code>pp = &amp;some_ptr;<\/code>\u975e\u6cd5\uff09\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7<code>pp<\/code>\u4fee\u6539\u4efb\u4f55\u7ea7\u522b\u7684\u503c\uff08<code>*pp<\/code>\u548c<code>**pp<\/code>\uff09\u3002<\/li>\n\n\n\n<li><code>const int* const* pp<\/code>\uff1a\u6307\u5411<code>const int* const<\/code>\u7684\u6307\u9488\u3002\u65e2\u4e0d\u80fd\u901a\u8fc7<code>pp<\/code>\u4fee\u6539<code>int<\/code>\u503c\uff0c\u4e5f\u4e0d\u80fd\u4fee\u6539<code>pp<\/code>\u6240\u6307\u5411\u7684\u6307\u9488\u7684\u6307\u5411\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">26. \u9762\u5411\u5bf9\u8c61\u4e0e\u9762\u5411\u8fc7\u7a0b\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9762\u5411\u8fc7\u7a0b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3<\/strong>\uff1a\u4ee5<strong>\u51fd\u6570<\/strong>\u4e3a\u4e2d\u5fc3\uff0c\u5173\u6ce8\u89e3\u51b3\u95ee\u9898\u7684<strong>\u6b65\u9aa4<\/strong>\u3002\u6570\u636e\u548c\u5bf9\u6570\u636e\u7684\u64cd\u4f5c\u662f\u5206\u79bb\u7684\u3002<\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u601d\u60f3<\/strong>\uff1a\u81ea\u9876\u5411\u4e0b\uff0c\u9010\u6b65\u6c42\u7cbe\u3002\u5c06\u4e00\u4e2a\u5927\u95ee\u9898\u5206\u89e3\u6210\u82e5\u5e72\u4e2a\u5c0f\u6b65\u9aa4\uff08\u51fd\u6570\uff09\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u7a0b\u5e8f\u6d41\u7a0b\u6e05\u6670\uff0c\u4f46\u4ee3\u7801\u590d\u7528\u6027\u548c\u53ef\u7ef4\u62a4\u6027\u76f8\u5bf9\u8f83\u5dee\uff0c\u5c24\u5176\u662f\u5728\u9700\u6c42\u53d8\u5316\u65f6\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9762\u5411\u5bf9\u8c61<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3<\/strong>\uff1a\u4ee5<strong>\u5bf9\u8c61<\/strong>\u4e3a\u4e2d\u5fc3\uff0c\u5bf9\u8c61\u662f\u6570\u636e\u548c\u64cd\u4f5c\u7684\u5c01\u88c5\u4f53\u3002\u5173\u6ce8\u5bf9\u8c61\u4e4b\u95f4\u7684<strong>\u4ea4\u4e92<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4e09\u5927\u7279\u5f81<\/strong>\uff1a\u5c01\u88c5\u3001\u7ee7\u627f\u3001\u591a\u6001\u3002<\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u601d\u60f3<\/strong>\uff1a\u81ea\u5e95\u5411\u4e0a\uff0c\u5148\u62bd\u8c61\u51fa\u7cfb\u7edf\u4e2d\u7684\u7c7b\u548c\u5bf9\u8c61\uff0c\u518d\u8ba9\u5b83\u4eec\u76f8\u4e92\u534f\u4f5c\u89e3\u51b3\u95ee\u9898\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u4ee3\u7801\u590d\u7528\u6027\u9ad8\uff08\u901a\u8fc7\u7ee7\u627f\u3001\u7ec4\u5408\uff09\uff0c\u53ef\u7ef4\u62a4\u6027\u548c\u6269\u5c55\u6027\u597d\uff08\u901a\u8fc7\u591a\u6001\uff09\uff0c\u66f4\u7b26\u5408\u4eba\u7c7b\u5bf9\u73b0\u5b9e\u4e16\u754c\u7684\u8ba4\u77e5\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">27. \u62f7\u8d1d\u6784\u9020\u7684\u8c03\u7528\u65f6\u673a<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u62f7\u8d1d\u6784\u9020\u51fd\u6570\u5728\u4ee5\u4e0b\u4e09\u79cd\u60c5\u51b5\u4e0b\u4f1a\u88ab\u8c03\u7528\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7528\u4e00\u4e2a\u5bf9\u8c61\u521d\u59cb\u5316\u53e6\u4e00\u4e2a\u5bf9\u8c61\u65f6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>MyClass obj2 = obj1;<\/code> \uff08\u62f7\u8d1d\u521d\u59cb\u5316\uff09<\/li>\n\n\n\n<li><code>MyClass obj3(obj1);<\/code> \uff08\u76f4\u63a5\u521d\u59cb\u5316\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u53c2\u6570\u4f20\u9012\u65f6\uff0c\u5982\u679c\u662f\u503c\u4f20\u9012<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>void func(MyClass obj) { ... }<\/code> \/\/ \u5f62\u53c2obj\u901a\u8fc7\u62f7\u8d1d\u5b9e\u53c2\u6765\u521d\u59cb\u5316<\/li>\n\n\n\n<li><code>MyClass myObj;<\/code><\/li>\n\n\n\n<li><code>func(myObj);<\/code> \/\/ \u8c03\u7528\u62f7\u8d1d\u6784\u9020\uff0c\u5c06myObj\u62f7\u8d1d\u7ed9\u5f62\u53c2obj<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u5bf9\u8c61\u65f6\uff0c\u5982\u679c\u8fd4\u56de\u503c\u662f\u503c\u7c7b\u578b<\/strong>\uff08\u4e14\u7f16\u8bd1\u5668\u672a\u505a\u8fd4\u56de\u503c\u4f18\u5316\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li><code>MyClass createObj() { MyClass obj; return obj; }<\/code> \/\/ \u8fd4\u56de\u65f6\u53ef\u80fd\u4f1a\u8c03\u7528\u62f7\u8d1d\u6784\u9020\u521b\u5efa\u4e00\u4e2a\u4e34\u65f6\u5bf9\u8c61<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">28. \u4e3a\u4ec0\u4e48\u6784\u9020\u51fd\u6570\u4e0d\u80fd\u662f\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4ece<code>vptr<\/code>\u7684\u521b\u5efa\u65f6\u673a\u770b<\/strong>\uff1a\u865a\u51fd\u6570\u673a\u5236\u4f9d\u8d56\u4e8e\u5bf9\u8c61\u7684\u865a\u51fd\u6570\u8868\u6307\u9488<code>vptr<\/code>\u3002\u800c<code>vptr<\/code>\u662f\u5728<strong>\u6784\u9020\u51fd\u6570\u6267\u884c\u671f\u95f4<\/strong>\u88ab\u521d\u59cb\u5316\u7684\uff0c\u6307\u5411\u5f53\u524d\u7c7b\u7684\u865a\u51fd\u6570\u8868\u3002\u5728\u6784\u9020\u51fd\u6570\u8c03\u7528\u4e4b\u524d\uff0c\u5bf9\u8c61\u8fd8\u4e0d\u5b8c\u6574\uff0c<code>vptr<\/code>\u8fd8\u6ca1\u6709\u88ab\u6b63\u786e\u8bbe\u7f6e\u3002\u5982\u679c\u6784\u9020\u51fd\u6570\u662f\u865a\u51fd\u6570\uff0c\u9700\u8981\u901a\u8fc7<code>vptr<\/code>\u6765\u67e5\u627e\u8c03\u7528\u54ea\u4e2a\u51fd\u6570\uff0c\u4f46\u6b64\u65f6<code>vptr<\/code>\u5c1a\u672a\u5c31\u7eea\uff0c\u5f62\u6210\u77db\u76fe\u3002<\/li>\n\n\n\n<li><strong>\u4ece\u8bed\u4e49\u4e0a\u770b<\/strong>\uff1a\u865a\u51fd\u6570\u7684\u610f\u4e49\u5728\u4e8e\u5141\u8bb8\u5728\u53ea\u77e5\u9053\u57fa\u7c7b\u63a5\u53e3\u7684\u60c5\u51b5\u4e0b\uff0c\u8c03\u7528\u6d3e\u751f\u7c7b\u7684\u5177\u4f53\u5b9e\u73b0\u3002\u800c\u6784\u9020\u51fd\u6570\u7684\u4efb\u52a1\u662f\u521b\u5efa\u7279\u5b9a\u7c7b\u578b\u7684\u5bf9\u8c61\u3002\u5728\u6784\u9020\u4e00\u4e2a\u5bf9\u8c61\u65f6\uff0c\u4f60\u5fc5\u987b\u660e\u786e\u77e5\u9053\u8981\u521b\u5efa\u7684\u662f\u4ec0\u4e48\u7c7b\u578b\u7684\u5bf9\u8c61\uff0c\u4e0d\u5b58\u5728&#8221;\u901a\u8fc7\u57fa\u7c7b\u63a5\u53e3\u6765\u6784\u9020\u4e00\u4e2a\u4e0d\u786e\u5b9a\u7684\u6d3e\u751f\u7c7b\u5bf9\u8c61&#8221;\u7684\u8bed\u4e49\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">29. \u4e3a\u4ec0\u4e48\u9759\u6001\u51fd\u6570\u4e0d\u80fd\u662f\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528\u57df\u51b2\u7a81<\/strong>\uff1a\u865a\u51fd\u6570\u662f\u4f9d\u8d56\u4e8e\u5bf9\u8c61\u7684\uff0c\u6bcf\u4e2a\u5bf9\u8c61\u901a\u8fc7\u81ea\u5df1\u7684<code>vptr<\/code>\u6765\u52a8\u6001\u51b3\u5b9a\u8c03\u7528\u54ea\u4e2a\u865a\u51fd\u6570\u3002\u800c<strong>\u9759\u6001\u6210\u5458\u51fd\u6570\u662f\u5c5e\u4e8e\u7c7b\u672c\u8eab\u7684<\/strong>\uff0c\u5b83\u4e0d\u4f9d\u8d56\u4e8e\u4efb\u4f55\u5bf9\u8c61\uff0c\u6ca1\u6709<code>this<\/code>\u6307\u9488\u3002\u56e0\u6b64\uff0c\u9759\u6001\u51fd\u6570\u65e0\u6cd5\u901a\u8fc7\u5bf9\u8c61\u7684<code>vptr<\/code>\u6765\u8bbf\u95ee\u865a\u51fd\u6570\u8868\u3002<\/li>\n\n\n\n<li><strong>\u8bed\u4e49\u4e0d\u7b26<\/strong>\uff1a\u865a\u51fd\u6570\u662f\u5b9e\u73b0<strong>\u8fd0\u884c\u65f6\u591a\u6001<\/strong>\u7684\uff0c\u9700\u8981\u6839\u636e\u5bf9\u8c61\u7684\u5b9e\u9645\u7c7b\u578b\u6765\u8c03\u7528\u3002\u800c\u9759\u6001\u51fd\u6570\u5728\u7f16\u8bd1\u65f6\u5c31\u5df2\u7ecf\u4e0e\u7c7b\u7ed1\u5b9a\uff0c\u4e0d\u9700\u8981\u4e5f\u4e0d\u652f\u6301\u591a\u6001\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">30. \u4e3a\u4ec0\u4e48\u5185\u8054\u51fd\u6570\u4e0d\u80fd\u662f\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u673a\u5236\u51b2\u7a81<\/strong>\uff1a<code>inline<\/code>\u662f\u5bf9\u7f16\u8bd1\u5668\u7684<strong>\u5efa\u8bae<\/strong>\uff0c\u5efa\u8bae\u5728\u8c03\u7528\u70b9\u5c06\u51fd\u6570\u4f53\u5c55\u5f00\uff0c\u907f\u514d\u51fd\u6570\u8c03\u7528\u7684\u5f00\u9500\u3002\u8fd9\u662f\u4e00\u4e2a<strong>\u7f16\u8bd1\u671f<\/strong>\u7684\u4f18\u5316\u3002<\/li>\n\n\n\n<li>\u800c<code>virtual<\/code>\u51fd\u6570\u662f<strong>\u8fd0\u884c\u65f6<\/strong>\u591a\u6001\uff0c\u5176\u5177\u4f53\u8c03\u7528\u54ea\u4e2a\u51fd\u6570\u9700\u8981\u5728\u8fd0\u884c\u65f6\u901a\u8fc7\u67e5\u865a\u51fd\u6570\u8868\u624d\u80fd\u786e\u5b9a\u3002\u7f16\u8bd1\u5668\u5728\u7f16\u8bd1\u65f6\u65e0\u6cd5\u77e5\u9053\u5185\u8054\u5c55\u5f00\u54ea\u4e2a\u51fd\u6570\u4f53\u3002<\/li>\n\n\n\n<li>\u56e0\u6b64\uff0c\u4e00\u4e2a\u51fd\u6570\u4e0d\u80fd\u540c\u65f6\u8981\u6c42\u5728\u7f16\u8bd1\u671f\u5c55\u5f00\u53c8\u5728\u8fd0\u884c\u671f\u52a8\u6001\u7ed1\u5b9a\u3002\u867d\u7136\u8bed\u6cd5\u4e0a\u53ef\u4ee5\u5c06\u4e00\u4e2a\u865a\u51fd\u6570\u58f0\u660e\u4e3a<code>inline<\/code>\uff0c\u4f46<code>inline<\/code>\u53ea\u662f\u4e00\u4e2a\u5efa\u8bae\uff0c\u5e76\u4e14&#8221;\u865a\u6027&#8221;\u4f1a\u8986\u76d6&#8221;\u5185\u8054\u6027&#8221;\uff0c\u8be5\u51fd\u6570\u4ecd\u7136\u662f\u52a8\u6001\u7ed1\u5b9a\u7684\uff0c\u4e0d\u4f1a\u88ab\u5185\u8054\u5c55\u5f00\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">31. \u4e3a\u4ec0\u4e48\u53cb\u5143\u51fd\u6570\u4e0d\u80fd\u662f\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u53cb\u5143\u51fd\u6570\u4e0d\u662f\u6210\u5458\u51fd\u6570<\/strong>\uff1a\u865a\u51fd\u6570\u5fc5\u987b\u662f\u7c7b\u7684<strong>\u6210\u5458\u51fd\u6570<\/strong>\u3002\u53cb\u5143\u51fd\u6570\u867d\u7136\u88ab\u6388\u4e88\u4e86\u8bbf\u95ee\u7c7b\u7684\u79c1\u6709\u6210\u5458\u7684\u6743\u529b\uff0c\u4f46\u5b83\u672c\u8eab\u662f\u4e00\u4e2a<strong>\u5168\u5c40\u51fd\u6570<\/strong>\uff0c\u5e76\u4e0d\u5728\u7c7b\u7684\u4f5c\u7528\u57df\u5185\u3002<\/li>\n\n\n\n<li><strong>\u65e0\u6cd5\u88ab\u7ee7\u627f<\/strong>\uff1a\u865a\u51fd\u6570\u7684\u610f\u4e49\u5728\u4e8e\u53ef\u4ee5\u5728\u6d3e\u751f\u7c7b\u4e2d\u88ab\u91cd\u5199\u3002\u800c\u53cb\u5143\u5173\u7cfb\u662f<strong>\u4e0d\u80fd\u7ee7\u627f<\/strong>\u7684\u3002\u6bcf\u4e2a\u7c7b\u7684\u53cb\u5143\u51fd\u6570\u90fd\u9700\u8981\u5355\u72ec\u58f0\u660e\u3002\u56e0\u6b64\uff0c\u4e0d\u5b58\u5728&#8221;\u57fa\u7c7b\u7684\u53cb\u5143\u51fd\u6570\u5728\u6d3e\u751f\u7c7b\u4e2d\u88ab\u91cd\u5199&#8221;\u7684\u6982\u5ff5\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">32. \u4e3a\u4ec0\u4e48\u6a21\u677f\u51fd\u6570\u4e0d\u80fd\u662f\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0\u590d\u6742\u6027<\/strong>\uff1aC++\u6807\u51c6\u660e\u786e\u7981\u6b62\u6a21\u677f\u51fd\u6570\u6210\u4e3a\u865a\u51fd\u6570\u3002\u56e0\u4e3a\u865a\u51fd\u6570\u8868\u7684\u5927\u5c0f\u5728\u7f16\u8bd1\u65f6\u5c31\u9700\u8981\u786e\u5b9a\u3002\u6bcf\u4e2a\u865a\u51fd\u6570\u5728<code>vtable<\/code>\u4e2d\u5360\u636e\u4e00\u4e2a\u56fa\u5b9a\u7684\u69fd\u4f4d\u3002<\/li>\n\n\n\n<li>\u800c\u6a21\u677f\u51fd\u6570\u4f1a\u5728\u7f16\u8bd1\u65f6\u6839\u636e\u4e0d\u540c\u7684\u6a21\u677f\u53c2\u6570\u5b9e\u4f8b\u5316\u51fa\u591a\u4e2a\u4e0d\u540c\u7684\u51fd\u6570\u3002\u5982\u679c\u5141\u8bb8\u6a21\u677f\u865a\u51fd\u6570\uff0c\u90a3\u4e48\u7f16\u8bd1\u5668\u65e0\u6cd5\u5728\u7f16\u8bd1\u65f6\u786e\u5b9a\u8fd9\u4e2a\u865a\u51fd\u6570\u8868\u5230\u5e95\u9700\u8981\u4e3a\u8fd9\u4e2a\u6a21\u677f\u51c6\u5907\u591a\u5c11\u4e2a\u69fd\u4f4d\uff0c\u8fd9\u4f1a\u4f7f\u5f97\u865a\u51fd\u6570\u8868\u7684\u673a\u5236\u53d8\u5f97\u6781\u5176\u590d\u6742\u751a\u81f3\u4e0d\u53ef\u5b9e\u73b0\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">33. \u4e3a\u4ec0\u4e48\u5168\u5c40\u51fd\u6570\u4e0d\u80fd\u662f\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u865a\u51fd\u6570\u662fC++\u4e2d\u7528\u4e8e\u5b9e\u73b0\u591a\u6001\u7684\u673a\u5236\uff0c\u5b83\u5fc5\u987b\u662f\u7c7b\u7684\u975e\u9759\u6001\u6210\u5458\u51fd\u6570\u3002<\/strong> \u5168\u5c40\u51fd\u6570\u4e0d\u5c5e\u4e8e\u4efb\u4f55\u7c7b\uff0c\u56e0\u6b64\u6ca1\u6709&#8221;\u865a\u51fd\u6570&#8221;\u8fd9\u4e00\u8bf4\u3002\u591a\u6001\u662f\u57fa\u4e8e\u5bf9\u8c61\u7c7b\u578b\u7684\uff0c\u800c\u5168\u5c40\u51fd\u6570\u4e0e\u4efb\u4f55\u5bf9\u8c61\u7c7b\u578b\u65e0\u5173\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">34. \u5982\u679c\u5728\u6784\u9020\u51fd\u6570\u4e2d\u8c03\u7528\u865a\u51fd\u6570\uff0c\u8c03\u7528\u7684\u8fc7\u7a0b\u662f\u600e\u4e48\u6837\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728\u6784\u9020\u51fd\u6570\u4e2d\u8c03\u7528\u865a\u51fd\u6570\uff0c<strong>\u4e0d\u4f1a\u53d1\u751f\u591a\u6001<\/strong>\uff0c\u5373\u8c03\u7528\u7684\u603b\u662f<strong>\u5f53\u524d\u6784\u9020\u51fd\u6570\u6240\u5c5e\u7c7b<\/strong>\u7684\u7248\u672c\uff0c\u800c\u4e0d\u662f\u6700\u7ec8\u6d3e\u751f\u7c7b\u7684\u7248\u672c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u56e0<\/strong>\uff1a\u5728\u6784\u9020\u57fa\u7c7b\u90e8\u5206\u65f6\uff0c\u6d3e\u751f\u7c7b\u90e8\u5206\u5c1a\u672a\u88ab\u6784\u9020\u3002\u6b64\u65f6\u5bf9\u8c61\u7684<code>vptr<\/code>\u6307\u5411\u7684\u662f<strong>\u5f53\u524d\u6b63\u5728\u6784\u9020\u7684\u7c7b<\/strong>\u7684\u865a\u51fd\u6570\u8868\u3002\u8fd9\u662f\u4e3a\u4e86\u5b89\u5168\u8003\u8651\uff0c\u56e0\u4e3a\u5982\u679c\u8c03\u7528\u6d3e\u751f\u7c7b\u7684\u91cd\u5199\u7248\u672c\uff0c\u800c\u6d3e\u751f\u7c7b\u7684\u6210\u5458\u8fd8\u672a\u521d\u59cb\u5316\uff0c\u4f1a\u5bfc\u81f4\u672a\u5b9a\u4e49\u884c\u4e3a\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">35. list \u7684\u7279\u6b8a\u64cd\u4f5c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>std::list<\/code>\u662f\u53cc\u5411\u94fe\u8868\uff0c\u5b83\u652f\u6301\u4e00\u4e9b\u5e8f\u5217\u5bb9\u5668\uff08\u5982<code>vector<\/code>\uff09\u4e0d\u652f\u6301\u7684\u9ad8\u6548\u7684\u7279\u6b8a\u64cd\u4f5c\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>splice<\/code><\/strong>\uff1a\u5c06\u53e6\u4e00\u4e2a\u94fe\u8868\u4e2d\u7684\u5143\u7d20\uff08\u4e00\u4e2a\u3001\u4e00\u6bb5\u6216\u5168\u90e8\uff09<strong>\u62fc\u63a5<\/strong>\u5230\u5f53\u524d\u94fe\u8868\u7684\u6307\u5b9a\u4f4d\u7f6e\u3002\u8fd9\u4e2a\u8fc7\u7a0b\u4e0d\u6d89\u53ca\u5143\u7d20\u7684\u62f7\u8d1d\u6216\u79fb\u52a8\uff0c\u53ea\u662f\u4fee\u6539\u6307\u9488\uff0c\u56e0\u6b64\u662f<strong>O(1)<\/strong> \u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong><code>merge<\/code><\/strong>\uff1a\u5c06\u4e24\u4e2a<strong>\u5df2\u6392\u5e8f<\/strong>\u7684\u94fe\u8868\u5408\u5e76\u6210\u4e00\u4e2a\u6709\u5e8f\u94fe\u8868\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u9ad8\u6548\u7684\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong><code>sort<\/code><\/strong>\uff1a\u94fe\u8868\u81ea\u8eab\u7684<code>sort<\/code>\u6210\u5458\u51fd\u6570\uff0c\u901a\u5e38\u91c7\u7528\u5f52\u5e76\u6392\u5e8f\uff0c\u6548\u7387\u4f18\u4e8e\u901a\u7528\u7b97\u6cd5<code>std::sort<\/code>\uff08\u56e0\u4e3a<code>std::sort<\/code>\u9700\u8981\u968f\u673a\u8bbf\u95ee\u8fed\u4ee3\u5668\uff0c\u800c<code>list<\/code>\u4e0d\u652f\u6301\uff09\u3002<\/li>\n\n\n\n<li><strong><code>remove<\/code>\/<code>remove_if<\/code><\/strong>\uff1a\u5220\u9664\u6240\u6709\u7b49\u4e8e\u7279\u5b9a\u503c\u6216\u6ee1\u8db3\u7279\u5b9a\u6761\u4ef6\u7684\u5143\u7d20\u3002<\/li>\n\n\n\n<li><strong><code>unique<\/code><\/strong>\uff1a\u5220\u9664\u8fde\u7eed\u7684\u91cd\u590d\u5143\u7d20\uff08\u901a\u5e38\u9700\u8981\u5148\u6392\u5e8f\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">36. vector\u7684\u5e95\u5c42\u539f\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>std::vector<\/code>\u7684\u5e95\u5c42\u662f\u4e00\u4e2a<strong>\u52a8\u6001\u5206\u914d\u7684\u6570\u7ec4<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e09\u8981\u7d20<\/strong>\uff1a\u5b83\u901a\u5e38\u7531\u4e09\u4e2a\u6307\u9488\uff08\u6216\u4e00\u4e2a\u6307\u9488\u52a0\u4e24\u4e2a\u5927\u5c0f\uff09\u6765\u7ba1\u7406\uff1a<ol start=\"\"><li><code>start<\/code>\uff1a\u6307\u5411\u6570\u7ec4\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20\u3002<\/li><li><code>finish<\/code>\uff1a\u6307\u5411\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u7684\u4e0b\u4e00\u4e2a\u4f4d\u7f6e\uff08\u5373\u5f53\u524d\u5df2\u4f7f\u7528\u7a7a\u95f4\u7684\u672b\u5c3e\uff09\u3002<\/li><li><code>end_of_storage<\/code>\uff1a\u6307\u5411\u6574\u4e2a\u52a8\u6001\u6570\u7ec4\u7a7a\u95f4\u7684\u672b\u5c3e\u3002<\/li><\/ol>\n<ul class=\"wp-block-list\">\n<li><code>size() = finish - start<\/code><\/li>\n\n\n\n<li><code>capacity() = end_of_storage - start<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u52a8\u6001\u589e\u957f<\/strong>\uff1a\u5f53<code>size() == capacity()<\/code>\u65f6\uff0c\u5982\u679c\u518d\u6dfb\u52a0\u65b0\u5143\u7d20\uff0c<code>vector<\/code>\u4f1a\u8fdb\u884c&#8221;\u91cd\u65b0\u5206\u914d&#8221;\uff1a\n<ol class=\"wp-block-list\">\n<li>\u7533\u8bf7\u4e00\u5757\u66f4\u5927\u7684\u65b0\u5185\u5b58\uff08\u901a\u5e38\u662f\u539f\u5bb9\u91cf\u7684<strong>2\u500d<\/strong>\u6216<strong>1.5\u500d<\/strong>\uff0c\u53d6\u51b3\u4e8e\u5b9e\u73b0\uff09\u3002<\/li>\n\n\n\n<li>\u5c06\u65e7\u5185\u5b58\u7684\u6240\u6709\u5143\u7d20<strong>\u79fb\u52a8\u6216\u62f7\u8d1d<\/strong>\u5230\u65b0\u5185\u5b58\u3002<\/li>\n\n\n\n<li>\u91ca\u653e\u65e7\u5185\u5b58\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u652f\u6301\u968f\u673a\u8bbf\u95ee\uff08O(1)\uff09\uff0c\u5728\u5c3e\u90e8\u63d2\u5165\u5220\u9664\u6548\u7387\u9ad8\uff08O(1)\u644a\u9500\uff09\uff0c\u5728\u4e2d\u95f4\u6216\u5934\u90e8\u63d2\u5165\u5220\u9664\u6548\u7387\u4f4e\uff08O(n)\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">37. \u5e8f\u5217\u5f0f\u5bb9\u5668\u7684insert\uff0cerase\u7684\u51fa\u9519\u60c5\u51b5\u4ee5\u53ca\u51fa\u9519\u539f\u56e0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>insert<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u8981\u95ee\u9898<\/strong>\uff1a\u53ef\u80fd\u5bfc\u81f4<strong>\u8fed\u4ee3\u5668\u5931\u6548<\/strong>\u3002\u5bf9\u4e8e<code>vector<\/code>\u548c<code>deque<\/code>\uff0c\u63d2\u5165\u64cd\u4f5c\u53ef\u80fd\u5f15\u8d77\u91cd\u65b0\u5206\u914d\uff0c\u4f7f\u5f97\u6240\u6709\u6307\u5411\u8be5\u5bb9\u5668\u7684\u8fed\u4ee3\u5668\u3001\u6307\u9488\u3001\u5f15\u7528\u90fd\u5931\u6548\u3002\u5bf9\u4e8e<code>list<\/code>\uff0c\u8fed\u4ee3\u5668\u901a\u5e38\u4e0d\u4f1a\u5931\u6548\u3002<\/li>\n\n\n\n<li><strong>\u5176\u4ed6\u9519\u8bef<\/strong>\uff1a\u63d0\u4f9b\u7684\u8fed\u4ee3\u5668\u4f4d\u7f6e\u65e0\u6548\uff08\u5982\u6307\u5411\u53e6\u4e00\u4e2a\u5bb9\u5668\uff09\uff1b\u63d2\u5165\u7684\u5143\u7d20\u7c7b\u578b\u4e0e\u5bb9\u5668\u4e0d\u5339\u914d\uff08\u7f16\u8bd1\u9519\u8bef\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>erase<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u8981\u95ee\u9898<\/strong>\uff1a\u540c\u6837\u4f1a\u5bfc\u81f4<strong>\u8fed\u4ee3\u5668\u5931\u6548<\/strong>\u3002\u5bf9\u4e8e<code>vector<\/code>\u548c<code>deque<\/code>\uff0c\u88ab\u5220\u9664\u5143\u7d20\u53ca\u5176\u4e4b\u540e\u7684\u6240\u6709\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u90fd\u4f1a\u5931\u6548\u3002\u5bf9\u4e8e<code>list<\/code>\uff0c\u53ea\u6709\u6307\u5411\u88ab\u5220\u9664\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u4f1a\u5931\u6548\u3002<\/li>\n\n\n\n<li><strong>\u7ecf\u5178\u9519\u8bef<\/strong>\uff1a\u5728\u5faa\u73af\u4e2d\u4f7f\u7528\u5931\u6548\u7684\u8fed\u4ee3\u5668\u3002\u6b63\u786e\u7684\u505a\u6cd5\u662f\u4f7f\u7528<code>erase<\/code>\u7684\u8fd4\u56de\u503c\uff08\u5b83\u8fd4\u56de\u88ab\u5220\u9664\u5143\u7d20\u4e4b\u540e\u5143\u7d20\u7684\u6709\u6548\u8fed\u4ee3\u5668\uff09\u3002cpp\u590d\u5236\u4e0b\u8f7d\/\/ \u9519\u8bef\u793a\u8303<br>for (auto it = vec.begin(); it != vec.end(); ++it) {<br>\u00a0 if (*it == value) {<br>\u00a0 \u00a0 \u00a0 vec.erase(it); \/\/ it \u5931\u6548\u4e86\uff0c\u540e\u7eed\u7684 ++it \u884c\u4e3a\u672a\u5b9a\u4e49<br>\u00a0 }<br>}<br>\/\/ \u6b63\u786e\u793a\u8303 (C++11\u540e)<br>for (auto it = vec.begin(); it != vec.end(); ) {<br>\u00a0 if (*it == value) {<br>\u00a0 \u00a0 \u00a0 it = vec.erase(it); \/\/ erase \u8fd4\u56de\u4e0b\u4e00\u4e2a\u6709\u6548\u7684\u8fed\u4ee3\u5668<br>\u00a0 } else {<br>\u00a0 \u00a0 \u00a0 ++it;<br>\u00a0 }<br>}<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">38. \u89e3\u51b3hash\u51b2\u7a81\u7684\u65b9\u6cd5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5f53\u4e0d\u540c\u7684\u952e\u901a\u8fc7\u54c8\u5e0c\u51fd\u6570\u6620\u5c04\u5230\u540c\u4e00\u4e2a\u6876\uff08\u5730\u5740\uff09\u65f6\uff0c\u5c31\u53d1\u751f\u4e86\u54c8\u5e0c\u51b2\u7a81\u3002\u89e3\u51b3\u65b9\u6cd5\u4e3b\u8981\u6709\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u94fe\u5730\u5740\u6cd5<\/strong>\uff1a\u6bcf\u4e2a\u6876\u4e0d\u76f4\u63a5\u5b58\u50a8\u5143\u7d20\uff0c\u800c\u662f\u5b58\u50a8\u4e00\u4e2a\u94fe\u8868\uff08\u6216\u5176\u5b83\u5bb9\u5668\uff0c\u5982\u7ea2\u9ed1\u6811\uff09\u3002\u6240\u6709\u54c8\u5e0c\u5230\u540c\u4e00\u5730\u5740\u7684\u5143\u7d20\u90fd\u653e\u5165\u8fd9\u4e2a\u94fe\u8868\u4e2d\u3002\u8fd9\u662f\u6700\u5e38\u7528\u7684\u65b9\u6cd5\uff08\u5982<code>std::unordered_map<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5f00\u653e\u5b9a\u5740\u6cd5<\/strong>\uff1a\u5f53\u53d1\u751f\u51b2\u7a81\u65f6\uff0c\u6309\u7167\u67d0\u79cd\u63a2\u6d4b\u5e8f\u5217\uff08\u5982\u7ebf\u6027\u63a2\u6d4b\u3001\u5e73\u65b9\u63a2\u6d4b\u3001\u53cc\u91cd\u54c8\u5e0c\uff09\u5728\u54c8\u5e0c\u8868\u4e2d\u5bfb\u627e\u4e0b\u4e00\u4e2a\u7a7a\u7684\u6876\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u7ebf\u6027\u63a2\u6d4b<\/strong>\uff1a\u4f9d\u6b21\u68c0\u67e5\u4e0b\u4e00\u4e2a\u6876\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u4e0d\u9700\u8981\u989d\u5916\u7684\u94fe\u8868\u7ed3\u6784\uff0c\u7f13\u5b58\u53cb\u597d\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u5bb9\u6613\u4ea7\u751f&#8221;\u805a\u96c6&#8221;\u73b0\u8c61\uff0c\u5220\u9664\u64cd\u4f5c\u590d\u6742\uff08\u9700\u8981\u6807\u8bb0\u4e3a&#8221;\u5df2\u5220\u9664&#8221;\u800c\u975e\u76f4\u63a5\u7f6e\u7a7a\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u518d\u54c8\u5e0c\u6cd5<\/strong>\uff1a\u51c6\u5907\u591a\u4e2a\u4e0d\u540c\u7684\u54c8\u5e0c\u51fd\u6570\uff0c\u5f53\u7b2c\u4e00\u4e2a\u54c8\u5e0c\u51fd\u6570\u53d1\u751f\u51b2\u7a81\u65f6\uff0c\u5c1d\u8bd5\u7528\u7b2c\u4e8c\u4e2a\u3001\u7b2c\u4e09\u4e2a\u54c8\u5e0c\u51fd\u6570\uff0c\u76f4\u5230\u627e\u5230\u7a7a\u4f4d\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">39. \u88c5\u8f7d\u56e0\u5b50\u7684\u77e5\u8bc6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u88c5\u8f7d\u56e0\u5b50 = \u54c8\u5e0c\u8868\u4e2d\u5df2\u5b58\u50a8\u7684\u5143\u7d20\u4e2a\u6570 \/ \u54c8\u5e0c\u8868\u7684\u6876\u603b\u6570\u3002<\/li>\n\n\n\n<li><strong>\u610f\u4e49<\/strong>\uff1a\u5b83\u8861\u91cf\u4e86\u54c8\u5e0c\u8868\u7684<strong>\u6ee1\u7684\u7a0b\u5ea6<\/strong>\uff0c\u662f\u51b3\u5b9a\u54c8\u5e0c\u8868\u662f\u5426\u9700\u8981\u8fdb\u884c<strong>\u6269\u5bb9<\/strong>\u7684\u5173\u952e\u6307\u6807\u3002<\/li>\n\n\n\n<li><strong>\u5f71\u54cd<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u88c5\u8f7d\u56e0\u5b50<strong>\u8d8a\u5927<\/strong>\uff0c\u8bf4\u660e\u8868\u8d8a\u6ee1\uff0c\u53d1\u751f\u54c8\u5e0c\u51b2\u7a81\u7684\u6982\u7387\u5c31\u8d8a\u9ad8\uff0c\u67e5\u8be2\u3001\u63d2\u5165\u7684\u6027\u80fd\u4f1a\u4e0b\u964d\u3002<\/li>\n\n\n\n<li>\u88c5\u8f7d\u56e0\u5b50<strong>\u8d8a\u5c0f<\/strong>\uff0c\u8868\u8d8a\u7a7a\uff0c\u5185\u5b58\u6d6a\u8d39\u8d8a\u591a\uff0c\u4f46\u51b2\u7a81\u6982\u7387\u4f4e\uff0c\u64cd\u4f5c\u901f\u5ea6\u5feb\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9ed8\u8ba4\u503c<\/strong>\uff1a\u5728C++ STL\u7684<code>unordered_map<\/code>\u4e2d\uff0c\u9ed8\u8ba4\u7684\u6700\u5927\u88c5\u8f7d\u56e0\u5b50\u901a\u5e38\u662f<code>1.0<\/code>\u3002\u5f53\u5b9e\u9645\u88c5\u8f7d\u56e0\u5b50\u8d85\u8fc7\u8fd9\u4e2a\u6700\u5927\u503c\u65f6\uff0c\u5bb9\u5668\u4f1a\u81ea\u52a8\u589e\u52a0\u6876\u7684\u6570\u91cf\uff08\u901a\u5e38\u662f\u7ffb\u500d\uff09\u5e76\u91cd\u65b0\u54c8\u5e0c\u6240\u6709\u5143\u7d20\uff0c\u4ee5\u964d\u4f4e\u88c5\u8f7d\u56e0\u5b50\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">40. unordered_set\u7684hash\u548cequal_to\u7684\u5b9e\u73b0\u65b9\u5f0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>unordered_set<\/code>\u662f\u4e00\u4e2a\u5173\u8054\u5bb9\u5668\uff0c\u5b83\u5b58\u50a8\u552f\u4e00\u7684\u5143\u7d20\uff0c\u57fa\u4e8e\u54c8\u5e0c\u8868\u5b9e\u73b0\u3002\u5b83\u9700\u8981\u4e24\u4e2a\u5173\u952e\u7684\u51fd\u6570\u5bf9\u8c61\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Hash\u51fd\u6570<\/strong>\uff1a\u8d1f\u8d23\u5c06\u5143\u7d20\u7684<code>Key<\/code>\u6620\u5c04\u5230\u4e00\u4e2a<code>size_t<\/code>\u7c7b\u578b\u7684\u54c8\u5e0c\u503c\u3002\u5bf9\u4e8e\u5185\u7f6e\u7c7b\u578b\uff08\u5982<code>int<\/code>, <code>std::string<\/code>\uff09\uff0c\u6807\u51c6\u5e93\u63d0\u4f9b\u4e86\u9ed8\u8ba4\u7684<code>std::hash<\/code>\u7279\u5316\u7248\u672c\u3002\u5bf9\u4e8e\u81ea\u5b9a\u4e49\u7c7b\u578b\uff0c\u4f60\u9700\u8981<strong>\u7279\u5316<code>std::hash<\/code><\/strong> \u6216<strong>\u4f20\u5165\u81ea\u5b9a\u4e49\u7684\u54c8\u5e0c\u51fd\u6570\u5bf9\u8c61<\/strong>\u3002cpp\u590d\u5236\u4e0b\u8f7dstruct MyHash {<br>\u00a0 std::size_t operator()(const MyClass&amp; obj) const {<br>\u00a0 \u00a0 \u00a0 \/\/ \u8ba1\u7b97\u5e76\u8fd4\u56deobj\u7684\u54c8\u5e0c\u503c<br>\u00a0 \u00a0 \u00a0 return &#8230;;<br>\u00a0 }<br>};<br>std::unordered_set&lt;MyClass, MyHash> mySet;<\/li>\n\n\n\n<li><strong>Key\u76f8\u7b49\u6027\u5224\u65ad\u51fd\u6570<\/strong>\uff1a\u8d1f\u8d23\u5224\u65ad\u4e24\u4e2a<code>Key<\/code>\u662f\u5426\u76f8\u7b49\u3002\u56e0\u4e3a\u54c8\u5e0c\u51b2\u7a81\u7684\u5b58\u5728\uff0c\u5373\u4f7f\u54c8\u5e0c\u503c\u76f8\u540c\uff0c\u5143\u7d20\u4e5f\u53ef\u80fd\u4e0d\u540c\u3002\u9ed8\u8ba4\u4f7f\u7528<code>std::equal_to<\/code>\uff0c\u5b83\u8c03\u7528<code>operator==<\/code>\u3002\u5bf9\u4e8e\u81ea\u5b9a\u4e49\u7c7b\u578b\uff0c\u4f60\u9700\u8981\u786e\u4fdd\u91cd\u8f7d\u4e86<code>operator==<\/code>\u6216\u4f20\u5165\u81ea\u5b9a\u4e49\u7684\u51fd\u6570\u5bf9\u8c61\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">41. C++\u4e2d\u7c7b\u578b\u8f6c\u6362\u6709\u54ea\u51e0\u79cd\uff0c\u7b80\u8ff0\u4e00\u4e0b\u4ed6\u4eec\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++\u63d0\u4f9b\u4e86\u56db\u79cd\u547d\u540d\u7684\u7c7b\u578b\u8f6c\u6362\u8fd0\u7b97\u7b26\uff0c\u6bd4C\u7684\u98ce\u683c\u8f6c\u6362\u66f4\u5b89\u5168\u3001\u66f4\u660e\u786e\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>static_cast<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u7528\u9014\u6700\u5e7f\u6cdb<\/strong>\u3002\u7528\u4e8e\u826f\u6027\u8f6c\u6362\uff0c\u5982\u57fa\u672c\u6570\u636e\u7c7b\u578b\u4e4b\u95f4\u7684\u8f6c\u6362\uff08<code>int<\/code>\u8f6c<code>double<\/code>\uff09\uff0c\u975e<code>const<\/code>\u8f6c<code>const<\/code>\uff0c<code>void*<\/code>\u8f6c\u5176\u4ed6\u6307\u9488\uff0c\u6709\u8f6c\u6362\u6784\u9020\u51fd\u6570\u7684\u7c7b\u7c7b\u578b\u8f6c\u6362\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u5728\u7f16\u8bd1\u65f6\u8fdb\u884c\u7c7b\u578b\u68c0\u67e5\uff0c\u4f46\u4e0d\u80fd\u79fb\u9664<code>const<\/code>\u6216<code>volatile<\/code>\u5c5e\u6027\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>dynamic_cast<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u8981\u7528\u4e8e\u7ee7\u627f\u4f53\u7cfb\u4e2d\u7684\u5b89\u5168\u5411\u4e0b\u8f6c\u6362<\/strong>\u3002\u5b83\u4f1a\u5728\u8fd0\u884c\u65f6\u68c0\u67e5\u8f6c\u6362\u662f\u5426\u5b89\u5168\u3002\u5982\u679c\u6307\u9488\u8f6c\u6362\u5931\u8d25\u5219\u8fd4\u56de<code>nullptr<\/code>\uff0c\u5982\u679c\u5f15\u7528\u8f6c\u6362\u5931\u8d25\u5219\u629b\u51fa<code>std::bad_cast<\/code>\u5f02\u5e38\u3002<\/li>\n\n\n\n<li><strong>\u8981\u6c42<\/strong>\uff1a\u57fa\u7c7b\u5fc5\u987b\u81f3\u5c11\u6709\u4e00\u4e2a\u865a\u51fd\u6570\uff08\u6709\u865a\u51fd\u6570\u8868\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>const_cast<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u552f\u4e00\u7528\u4e8e\u4fee\u6539\u7c7b\u578b\u7684<code>const<\/code>\u6216<code>volatile<\/code>\u5c5e\u6027\u7684\u64cd\u4f5c\u7b26<\/strong>\u3002\u5e38\u7528\u4e8e\u53bb\u6389<code>const<\/code>\u5c5e\u6027\uff0c\u4f46\u4fee\u6539\u539f\u4e3a\u5e38\u91cf\u7684\u5bf9\u8c61\u662f\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\u4e3b\u8981\u7528\u4e8e\u51fd\u6570\u91cd\u8f7d\u7b49\u573a\u666f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>reinterpret_cast<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6700\u4f4e\u5c42\u7684\u8f6c\u6362<\/strong>\u3002\u5b83\u4ec5\u4ec5\u91cd\u65b0\u89e3\u91ca\u5e95\u5c42\u7684\u6bd4\u7279\u6a21\u5f0f\uff0c\u4e0d\u8fdb\u884c\u4efb\u4f55\u6570\u636e\u8f6c\u6362\u3002\u4f8b\u5982\uff0c\u5c06\u6307\u9488\u8f6c\u6362\u4e3a\u6574\u6570\uff0c\u6216\u5c06\u4e00\u79cd\u7c7b\u578b\u7684\u6307\u9488\u8f6c\u6362\u4e3a\u53e6\u4e00\u79cd\u4e0d\u76f8\u5173\u7c7b\u578b\u7684\u6307\u9488\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u975e\u5e38\u5371\u9669\uff0c\u6781\u6613\u51fa\u9519\uff0c\u5e94\u6781\u5ea6\u8c28\u614e\u4f7f\u7528\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">42. C++\u4e2d\u51fd\u6570\u6307\u9488\u548c\u6307\u9488\u51fd\u6570\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u662f\u4e24\u4e2a\u5b8c\u5168\u4e0d\u540c\u7684\u6982\u5ff5\uff0c\u540d\u79f0\u76f8\u4f3c\u5bb9\u6613\u6df7\u6dc6\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6307\u9488\u51fd\u6570<\/strong>\uff1a\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a<strong>\u51fd\u6570<\/strong>\uff0c\u5176\u8fd4\u56de\u503c\u7c7b\u578b\u662f\u4e00\u4e2a<strong>\u6307\u9488<\/strong>\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u58f0\u660e<\/strong>\uff1a<code>int* func(int a, int b);<\/code> \/\/ \u8fd9\u662f\u4e00\u4e2a\u540d\u4e3a<code>func<\/code>\u7684\u51fd\u6570\uff0c\u8fd4\u56de\u4e00\u4e2a<code>int*<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u6307\u9488<\/strong>\uff1a\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a<strong>\u6307\u9488<\/strong>\uff0c\u8fd9\u4e2a\u6307\u9488\u6307\u5411\u4e00\u4e2a<strong>\u51fd\u6570<\/strong>\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u58f0\u660e<\/strong>\uff1a<code>int (*funcPtr)(int, int);<\/code> \/\/ \u8fd9\u662f\u4e00\u4e2a\u540d\u4e3a<code>funcPtr<\/code>\u7684\u6307\u9488\uff0c\u5b83\u53ef\u4ee5\u6307\u5411\u4e00\u4e2a\u63a5\u53d7\u4e24\u4e2aint\u53c2\u6570\u5e76\u8fd4\u56deint\u7684\u51fd\u6570\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">43. void**\u7684\u5927\u5c0f\u662f\u591a\u5c11<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>void**<\/code>\u662f\u4e00\u4e2a\u6307\u5411<code>void*<\/code>\uff08\u4e07\u80fd\u6307\u9488\uff09\u7684\u6307\u9488\u3002\u5b83\u672c\u8eab\u4f9d\u7136\u662f\u4e00\u4e2a<strong>\u6307\u9488\u53d8\u91cf<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u572832\u4f4d\u7cfb\u7edf\u4e0a\uff0c\u6240\u6709\u7c7b\u578b\u7684\u6307\u9488\u5927\u5c0f\u901a\u5e38\u90fd\u662f<strong>4\u5b57\u8282<\/strong>\u3002<\/li>\n\n\n\n<li>\u572864\u4f4d\u7cfb\u7edf\u4e0a\uff0c\u6240\u6709\u7c7b\u578b\u7684\u6307\u9488\u5927\u5c0f\u901a\u5e38\u90fd\u662f<strong>8\u5b57\u8282<\/strong>\u3002<\/li>\n\n\n\n<li>\u56e0\u6b64\uff0c<code>sizeof(void**)<\/code>\u7684\u503c\u53d6\u51b3\u4e8e\u76ee\u6807\u5e73\u53f0\u7684\u5bfb\u5740\u80fd\u529b\uff0c\u4e0e<code>sizeof(int*)<\/code>\u3001<code>sizeof(MyClass*)<\/code>\u7b49\u662f\u76f8\u540c\u7684\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">44. \u7b80\u8ff0malloc\u548cfree\u7684\u5b9e\u73b0\u539f\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>malloc<\/code><\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5185\u5b58\u6c60<\/strong>\uff1a<code>malloc<\/code>\u7ba1\u7406\u7740\u4e00\u4e2a\u5806\u5185\u5b58\u6c60\u3002\u5b83\u5411\u64cd\u4f5c\u7cfb\u7edf\u7533\u8bf7\u5927\u5757\u5185\u5b58\uff08\u5982\u901a\u8fc7<code>brk<\/code>\u6216<code>sbrk<\/code>\u7cfb\u7edf\u8c03\u7528\uff09\uff0c\u7136\u540e\u5c06\u5176\u5206\u5272\u6210\u66f4\u5c0f\u7684\u5757\u6765\u6ee1\u8db3\u7528\u6237\u8bf7\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5757\u7ed3\u6784<\/strong>\uff1a\u6bcf\u4e2a\u5206\u914d\u7684\u5185\u5b58\u5757\u901a\u5e38\u5e26\u6709\u4e00\u4e2a<strong>\u5934\u90e8<\/strong>\uff0c\u7528\u4e8e\u5b58\u50a8\u5757\u7684\u5143\u6570\u636e\uff0c\u5982\u5757\u5927\u5c0f\u3001\u662f\u5426\u7a7a\u95f2\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u5206\u914d\u7b56\u7565<\/strong>\uff1a\u5f53\u6536\u5230\u5206\u914d\u8bf7\u6c42\u65f6\uff0c<code>malloc<\/code>\u4f1a\u5728\u7a7a\u95f2\u5185\u5b58\u5757\u4e2d\u5bfb\u627e\u4e00\u4e2a\u8db3\u591f\u5927\u7684\u5757\u3002\u5e38\u89c1\u7684\u7b56\u7565\u6709<strong>\u9996\u6b21\u9002\u5e94<\/strong>\u3001<strong>\u6700\u4f73\u9002\u5e94<\/strong>\u7b49\u3002\u627e\u5230\u540e\uff0c\u53ef\u80fd\u5c06\u4e00\u5757\u5927\u7684\u7a7a\u95f2\u5757\u5206\u5272\uff0c\u4e00\u90e8\u5206\u5206\u914d\u7ed9\u7528\u6237\uff0c\u5269\u4f59\u90e8\u5206\u653e\u56de\u7a7a\u95f2\u94fe\u8868\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong><code>free<\/code><\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6807\u8bb0\u4e3a\u7a7a\u95f2<\/strong>\uff1a<code>free<\/code>\u63a5\u6536\u4e00\u4e2a\u6307\u9488\uff0c\u901a\u8fc7\u6307\u9488\u524d\u7684\u5143\u6570\u636e\u627e\u5230\u8be5\u5185\u5b58\u5757\u7684\u5927\u5c0f\uff0c\u5e76\u5c06\u5176\u6807\u8bb0\u4e3a\u7a7a\u95f2\u3002<\/li>\n\n\n\n<li><strong>\u5408\u5e76\u7a7a\u95f2\u5757<\/strong>\uff1a\u4e3a\u4e86\u907f\u514d\u788e\u7247\u5316\uff0c<code>free<\/code>\u4f1a\u5c1d\u8bd5\u5c06\u521a\u91ca\u653e\u7684\u5757\u4e0e\u76f8\u90bb\u7684\u7a7a\u95f2\u5757<strong>\u5408\u5e76<\/strong>\u6210\u4e00\u4e2a\u66f4\u5927\u7684\u7a7a\u95f2\u5757\uff0c\u5e76\u653e\u56de\u7a7a\u95f2\u94fe\u8868\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">45. \u4e3a\u4f55free\u7684\u65f6\u5019\uff0c\u53ea\u9700\u8981\u4f20\u9012\u5806\u7a7a\u95f4\u7684\u5730\u5740\u5c31\u53ef\u4ee5\u4e86<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u56e0\u4e3a<code>malloc<\/code>\u5728\u5206\u914d\u5185\u5b58\u65f6\uff0c\u4f1a\u5728\u8fd4\u56de\u7ed9\u7528\u6237\u7684\u5185\u5b58\u5757<strong>\u4e4b\u524d<\/strong>\u5b58\u50a8\u4e00\u4e9b<strong>\u7ba1\u7406\u4fe1\u606f<\/strong>\uff08\u5143\u6570\u636e\uff09\uff0c\u4f8b\u5982\u5757\u7684\u5927\u5c0f\u3002<code>free<\/code>\u51fd\u6570\u63a5\u6536\u5230\u6307\u9488\u540e\uff0c\u4f1a<strong>\u5411\u524d\u504f\u79fb<\/strong>\u4e00\u5b9a\u7684\u4f4d\u7f6e\uff08\u4f8b\u5982<code>sizeof(size_t)<\/code>\uff09\u6765\u8bfb\u53d6\u8fd9\u4e2a\u5143\u6570\u636e\uff0c\u4ece\u800c\u77e5\u9053\u8981\u91ca\u653e\u7684\u5185\u5b58\u5757\u6709\u591a\u5927\u3002\u56e0\u6b64\uff0c\u7a0b\u5e8f\u5458\u4e0d\u9700\u8981\u4f20\u9012\u5927\u5c0f\uff0c<code>free<\/code>\u81ea\u5df1\u5c31\u80fd\u77e5\u9053\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">46. malloc\u7533\u8bf7\u5185\u5b58\u540e\uff0c\u600e\u4e48\u4fdd\u8bc1\u4e00\u5b9a\u7533\u8bf7\u5230\u4e86\u5462\uff0c\u4f60\u4f1a\u7533\u8bf7\u5b8c\u540e\u76f4\u63a5\u4f7f\u7528\u8fd9\u7247\u5185\u5b58\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4fdd\u8bc1\u673a\u5236<\/strong>\uff1a<strong>\u65e0\u6cd5100%\u4fdd\u8bc1<\/strong>\u3002<code>malloc<\/code>\u5728\u5185\u5b58\u4e0d\u8db3\u65f6\u4f1a\u8fd4\u56de<code>NULL<\/code>\uff08\u7a7a\u6307\u9488\uff09\u3002\u56e0\u6b64\uff0c<strong>\u826f\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u662f\u6bcf\u6b21\u8c03\u7528<code>malloc<\/code>\u540e\u90fd\u5fc5\u987b\u68c0\u67e5\u8fd4\u56de\u503c\u662f\u5426\u4e3a<code>NULL<\/code><\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u524d\u68c0\u67e5<\/strong>\uff1a<strong>\u7edd\u5bf9\u4e0d\u80fd<\/strong>\u5728\u7533\u8bf7\u540e\u4e0d\u68c0\u67e5\u5c31\u76f4\u63a5\u4f7f\u7528\u3002\u5fc5\u987b\u5148\u5224\u65ad\u6307\u9488\u975e\u7a7a\u3002cpp\u590d\u5236\u4e0b\u8f7dint* ptr = (int*)malloc(100 * sizeof(int)); if (ptr == NULL) { \/\/ \u5904\u7406\u5206\u914d\u5931\u8d25\u7684\u60c5\u51b5\uff08\u5982\u6253\u5370\u9519\u8bef\u4fe1\u606f\u3001\u9000\u51fa\u7a0b\u5e8f\u7b49\uff09 fprintf(stderr, &#8220;Memory allocation failed!\\n&#8221;); exit(EXIT_FAILURE); } \/\/ \u53ea\u6709\u5728\u786e\u8ba4\u5206\u914d\u6210\u529f\u540e\u624d\u53ef\u4ee5\u4f7f\u7528ptr *ptr = 10;\u5728C++\u4e2d\uff0c\u4f7f\u7528<code>new<\/code>\u5728\u5931\u8d25\u65f6\u4f1a\u629b\u51fa<code>std::bad_alloc<\/code>\u5f02\u5e38\uff0c\u800c\u4e0d\u662f\u8fd4\u56de<code>NULL<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">47. new\/delete\u4e0emalloc\/free\u7684\u5f02\u540c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u76f8\u540c\u70b9<\/strong>\uff1a\u90fd\u7528\u4e8e\u5728\u5806\u4e0a\u52a8\u6001\u7533\u8bf7\u548c\u91ca\u653e\u5185\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u4e0d\u540c\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u8bed\u8a00<\/strong>\uff1a<code>malloc\/free<\/code>\u662fC\u5e93\u51fd\u6570\uff1b<code>new\/delete<\/code>\u662fC++\u8fd0\u7b97\u7b26\u3002<\/li>\n\n\n\n<li><strong>\u6784\u9020\u4e0e\u6790\u6784<\/strong>\uff1a<code>new<\/code>\u5728\u5206\u914d\u5185\u5b58\u540e\u4f1a<strong>\u8c03\u7528\u6784\u9020\u51fd\u6570<\/strong>\u6765\u521d\u59cb\u5316\u5bf9\u8c61\uff1b<code>delete<\/code>\u5728\u91ca\u653e\u5185\u5b58\u524d\u4f1a<strong>\u8c03\u7528\u6790\u6784\u51fd\u6570<\/strong>\u6765\u6e05\u7406\u8d44\u6e90\u3002<code>malloc\/free<\/code>\u53ea\u8d1f\u8d23\u5185\u5b58\u5206\u914d\u548c\u91ca\u653e\uff0c\u4e0d\u8c03\u7528\u6784\u9020\u548c\u6790\u6784\u3002<\/li>\n\n\n\n<li><strong>\u8fd4\u56de\u503c\u4e0e\u9519\u8bef\u5904\u7406<\/strong>\uff1a<code>new<\/code>\u8fd4\u56de\u5177\u4f53\u7c7b\u578b\u7684\u6307\u9488\uff0c\u5931\u8d25\u65f6\u629b\u51fa\u5f02\u5e38\uff1b<code>malloc<\/code>\u8fd4\u56de<code>void*<\/code>\uff0c\u5931\u8d25\u65f6\u8fd4\u56de<code>NULL<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u8ba1\u7b97\u5927\u5c0f<\/strong>\uff1a<code>new<\/code>\u7531\u7f16\u8bd1\u5668\u6839\u636e\u7c7b\u578b\u8ba1\u7b97\u5927\u5c0f\uff1b<code>malloc<\/code>\u9700\u8981\u7a0b\u5e8f\u5458\u624b\u52a8\u8ba1\u7b97\u5b57\u8282\u6570\u3002<\/li>\n\n\n\n<li><strong>\u91cd\u8f7d<\/strong>\uff1a<code>operator new\/delete<\/code>\u53ef\u4ee5\u88ab\u91cd\u8f7d\uff1b<code>malloc\/free<\/code>\u4e0d\u80fd\u91cd\u8f7d\u3002<\/li>\n\n\n\n<li><strong>\u517c\u5bb9\u6027<\/strong>\uff1a<code>new\/delete<\/code>\u4e0eC++\u7684\u9762\u5411\u5bf9\u8c61\u7279\u6027\u7d27\u5bc6\u96c6\u6210\uff1b<code>malloc\/free<\/code>\u4e0eC++\u5bf9\u8c61\u4e0d\u517c\u5bb9\uff08\u4e0d\u4f1a\u8c03\u7528\u6784\u9020\/\u6790\u6784\uff09\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">48. delete\u548cdelete[]\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>delete<\/code><\/strong>\uff1a\u7528\u4e8e\u91ca\u653e<code>new<\/code>\u5206\u914d\u7684<strong>\u5355\u4e2a\u5bf9\u8c61<\/strong>\u7684\u5185\u5b58\u3002\u5b83\u53ea\u4f1a\u8c03\u7528<strong>\u4e00\u6b21<\/strong>\u6790\u6784\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong><code>delete[]<\/code><\/strong>\uff1a\u7528\u4e8e\u91ca\u653e<code>new[]<\/code>\u5206\u914d\u7684<strong>\u5bf9\u8c61\u6570\u7ec4<\/strong>\u7684\u5185\u5b58\u3002\u5b83\u4f1a\u5bf9\u6570\u7ec4\u4e2d\u7684<strong>\u6bcf\u4e00\u4e2a\u5bf9\u8c61<\/strong>\u8c03\u7528\u6790\u6784\u51fd\u6570\uff0c\u7136\u540e\u518d\u91ca\u653e\u6574\u5757\u5185\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u6df7\u7528\u7684\u540e\u679c<\/strong>\uff1a\u5982\u679c\u5bf9\u6570\u7ec4\u4f7f\u7528<code>delete<\/code>\uff0c\u4f1a\u5bfc\u81f4\u53ea\u6709\u7b2c\u4e00\u4e2a\u5143\u7d20\u7684\u6790\u6784\u51fd\u6570\u88ab\u8c03\u7528\uff0c\u5176\u4f59\u5143\u7d20\u7684\u6790\u6784\u51fd\u6570\u672a\u88ab\u8c03\u7528\uff08\u8d44\u6e90\u6cc4\u6f0f\uff09\uff0c\u5e76\u4e14\u91ca\u653e\u5185\u5b58\u7684\u65b9\u5f0f\u4e5f\u53ef\u80fd\u9519\u8bef\uff08\u56e0\u4e3a<code>new[]<\/code>\u53ef\u80fd\u5728\u5206\u914d\u7684\u5185\u5b58\u5757\u5934\u90e8\u5b58\u50a8\u4e86\u6570\u7ec4\u5927\u5c0f\u7684\u5143\u6570\u636e\uff09\uff0c\u5f15\u53d1\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\u53cd\u4e4b\u4ea6\u7136\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">49. \u6307\u9488\u548c\u5f15\u7528\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u521d\u59cb\u5316<\/strong>\uff1a<strong>\u5f15\u7528\u5fc5\u987b\u88ab\u521d\u59cb\u5316<\/strong>\uff0c\u4e14\u4e00\u65e6\u521d\u59cb\u5316\u540e\u5c31\u4e0d\u80fd\u518d\u7ed1\u5b9a\u5230\u5176\u4ed6\u5bf9\u8c61\uff08\u7c7b\u4f3c\u4e8e\u4e00\u4e2a\u5e38\u91cf\u6307\u9488\uff09\u3002\u6307\u9488\u53ef\u4ee5\u4e0d\u521d\u59cb\u5316\uff08\u4f46\u5371\u9669\uff09\uff0c\u4e5f\u53ef\u4ee5\u968f\u65f6\u6539\u53d8\u6307\u5411\u3002<\/li>\n\n\n\n<li><strong>\u7a7a\u503c<\/strong>\uff1a\u5f15\u7528\u4e0d\u80fd\u4e3a<code>NULL<\/code>\uff0c\u5b83\u5fc5\u987b\u603b\u662f\u6307\u5411\u4e00\u4e2a\u6709\u6548\u7684\u5bf9\u8c61\u3002\u6307\u9488\u53ef\u4ee5\u4e3a<code>NULL<\/code>\uff0c\u8868\u793a\u4e0d\u6307\u5411\u4efb\u4f55\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u64cd\u4f5c<\/strong>\uff1a\u5bf9\u5f15\u7528\u7684\u6240\u6709\u64cd\u4f5c\u90fd\u7b49\u4ef7\u4e8e\u5bf9\u5176\u6240\u7ed1\u5b9a\u5bf9\u8c61\u7684\u64cd\u4f5c\u3002\u6307\u9488\u5219\u9700\u8981\u4f7f\u7528\u89e3\u5f15\u7528\u64cd\u4f5c\u7b26<code>*<\/code>\u6765\u8bbf\u95ee\u6240\u6307\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5730\u5740<\/strong>\uff1a\u5f15\u7528\u672c\u8eab\u4e0d\u5360\u7528\u989d\u5916\u7684\u5b58\u50a8\u7a7a\u95f4\uff08\u53ef\u4ee5\u7406\u89e3\u4e3a\u662f\u539f\u53d8\u91cf\u7684\u4e00\u4e2a\u522b\u540d\uff09\u3002\u6307\u9488\u672c\u8eab\u662f\u4e00\u4e2a\u53d8\u91cf\uff0c\u5360\u7528\u5185\u5b58\u7a7a\u95f4\u6765\u5b58\u50a8\u5730\u5740\u3002<\/li>\n\n\n\n<li><strong>\u591a\u7ea7<\/strong>\uff1a\u5b58\u5728\u591a\u7ea7\u6307\u9488\uff08<code>int**<\/code>\uff09\uff0c\u4f46\u4e0d\u5b58\u5728\u591a\u7ea7\u5f15\u7528\u3002\u5f15\u7528\u7684\u5f15\u7528\u5b9e\u9645\u4e0a\u662f\u539f\u53d8\u91cf\u7684\u522b\u540d\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">50. \u5f15\u7528\u4f5c\u4e3a\u51fd\u6570\u8fd4\u56de\u65f6\u4e3a\u4ec0\u4e48\u4e0d\u80fd\u8fd4\u56de\u5c40\u90e8\u53d8\u91cf<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u56e0\u4e3a<strong>\u5c40\u90e8\u53d8\u91cf\u7684\u751f\u547d\u5468\u671f\u4ec5\u9650\u4e8e\u51fd\u6570\u5185\u90e8<\/strong>\uff0c\u5f53\u51fd\u6570\u8fd4\u56de\u65f6\uff0c\u5c40\u90e8\u53d8\u91cf\u6240\u5360\u7528\u7684\u6808\u5185\u5b58\u4f1a\u88ab\u81ea\u52a8\u91ca\u653e\uff08\u9500\u6bc1\uff09\u3002\u5982\u679c\u8fd4\u56de\u4e00\u4e2a\u6307\u5411\u5df2\u9500\u6bc1\u5c40\u90e8\u53d8\u91cf\u7684\u5f15\u7528\uff0c\u90a3\u4e48\u8fd9\u4e2a\u5f15\u7528\u5c31\u6210\u4e3a\u4e86\u4e00\u4e2a<strong>\u60ac\u7a7a\u5f15\u7528<\/strong>\uff0c\u7c7b\u4f3c\u4e8e\u91ce\u6307\u9488\u3002\u540e\u7eed\u901a\u8fc7\u8fd9\u4e2a\u5f15\u7528\u8bbf\u95ee\u6570\u636e\uff0c\u5176\u884c\u4e3a\u662f<strong>\u672a\u5b9a\u4e49\u7684<\/strong>\uff0c\u901a\u5e38\u4f1a\u5bfc\u81f4\u7a0b\u5e8f\u5d29\u6e83\u6216\u6570\u636e\u9519\u8bef\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6b63\u786e\u505a\u6cd5<\/strong>\uff1a\u8fd4\u56de\u7684\u5f15\u7528\u5fc5\u987b\u6307\u5411\u4e00\u4e2a\u5728\u51fd\u6570\u8fd4\u56de\u540e\u4f9d\u7136\u6709\u6548\u7684\u5bf9\u8c61\uff0c\u4f8b\u5982\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9759\u6001\u5c40\u90e8\u53d8\u91cf\u6216\u5168\u5c40\u53d8\u91cf\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7\u53c2\u6570\u4f20\u5165\u7684\u5f15\u7528\u6216\u6307\u9488\u6240\u6307\u5411\u7684\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li>\u52a8\u6001\u5206\u914d\u5728\u5806\u4e0a\u7684\u5bf9\u8c61\uff08\u4f46\u9700\u8981\u8c28\u614e\u7ba1\u7406\u5185\u5b58\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">51. extern&#8221;C&#8221;\u7684\u7528\u6cd5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>extern \"C\"<\/code> \u7684\u4e3b\u8981\u76ee\u7684\u662f\u5728 C++ \u4ee3\u7801\u4e2d<strong>\u94fe\u63a5 C \u8bed\u8a00\u7f16\u5199\u7684\u51fd\u6570\u6216\u5e93<\/strong>\u3002\u7531\u4e8e C++ \u652f\u6301\u51fd\u6570\u91cd\u8f7d\uff0c\u5b83\u4f1a\u8fdb\u884c<strong>\u540d\u79f0\u4fee\u9970<\/strong>\uff08Name Mangling\uff09\uff0c\u5c06\u51fd\u6570\u540d\u548c\u53c2\u6570\u7c7b\u578b\u7b49\u4fe1\u606f\u7ec4\u5408\u6210\u4e00\u4e2a\u72ec\u7279\u7684\u5185\u90e8\u540d\u79f0\u3002\u800c C \u8bed\u8a00\u6ca1\u6709\u8fd9\u4e2a\u673a\u5236\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7528\u6cd5<\/strong>\uff1a\u7528 <code>extern \"C\"<\/code> \u5305\u88f9 C \u51fd\u6570\u7684\u58f0\u660e\uff0c\u544a\u8bc9 C++ \u7f16\u8bd1\u5668\u6309 C \u8bed\u8a00\u7684\u89c4\u5219\u6765\u7f16\u8bd1\u548c\u94fe\u63a5\u8fd9\u4e9b\u51fd\u6570\uff0c\u5373\u4e0d\u8fdb\u884c\u540d\u79f0\u4fee\u9970\u3002cpp\u590d\u5236\u4e0b\u8f7d\/\/ \u5728 C++ \u4ee3\u7801\u4e2d\u8fd9\u6837\u58f0\u660e\u4e00\u4e2a C \u51fd\u6570 extern &#8220;C&#8221; { #include &#8220;my_c_lib.h&#8221; \/\/ \u5305\u542b C \u5934\u6587\u4ef6 void c_function(int arg); \/\/ \u6216\u8005\u76f4\u63a5\u58f0\u660e C \u51fd\u6570 } \/\/ \u6216\u8005\uff0c\u5728\u5934\u6587\u4ef6\u4e2d\u4f7f\u7528\u6761\u4ef6\u7f16\u8bd1\uff0c\u4f7f\u5176\u540c\u65f6\u9002\u7528\u4e8e C \u548c C++ #ifdef __cplusplus extern &#8220;C&#8221; { #endif void c_function(int arg); #ifdef __cplusplus } #endif<\/li>\n\n\n\n<li><strong>\u9650\u5236<\/strong>\uff1a\u88ab <code>extern \"C\"<\/code> \u4fee\u9970\u7684\u51fd\u6570\u4e0d\u80fd\u91cd\u8f7d\uff0c\u56e0\u4e3a C \u8bed\u8a00\u4e0d\u652f\u6301\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">52. \u5185\u8054\u51fd\u6570\u548c\u5b8f\u5b9a\u4e49\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u867d\u7136\u76ee\u6807\u76f8\u4f3c\uff08\u907f\u514d\u51fd\u6570\u8c03\u7528\u7684\u5f00\u9500\uff09\uff0c\u4f46\u5185\u8054\u51fd\u6570\u662f C++ \u5bf9\u5b8f\u7684\u5b89\u5168\u548c\u53ef\u63a7\u7684\u66ff\u4ee3\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b8f\u5b9a\u4e49 (<code>#define<\/code>)<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u8054\u51fd\u6570 (<code>inline<\/code>)<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5904\u7406\u9636\u6bb5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9884\u5904\u7406\u671f\uff0c<strong>\u6587\u672c\u66ff\u6362<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u671f\uff0c<strong>\u7f16\u8bd1\u6210\u4ee3\u7801<\/strong><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7c7b\u578b\u68c0\u67e5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\uff0c\u4e0d\u5b89\u5168\uff0c\u6613\u4ea7\u751f\u526f\u4f5c\u7528\uff08\u5982 <code>MAX(a++, b++)<\/code>\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\uff0c\u662f\u771f\u6b63\u7684\u51fd\u6570\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u7c7b\u578b\u68c0\u67e5<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8c03\u8bd5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u96be\u4ee5\u8c03\u8bd5\uff0c\u56e0\u4e3a\u66ff\u6362\u540e\u770b\u4e0d\u5230\u5b8f\u540d<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u8c03\u8bd5\uff08\u5c3d\u7ba1\u53ef\u80fd\u88ab\u5c55\u5f00\uff0c\u4f46\u7b26\u53f7\u4fe1\u606f\u66f4\u5b8c\u5584\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f00\u9500<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7eaf\u6587\u672c\u66ff\u6362\uff0c\u53ef\u80fd\u5bfc\u81f4\u4ee3\u7801\u81a8\u80c0<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u5668\u51b3\u7b56\uff0c\u53ef\u80fd\u88ab\u5ffd\u7565\uff08\u7279\u522b\u662f\u590d\u6742\u51fd\u6570\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f5c\u7528\u57df<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u4f5c\u7528\u57df\uff0c\u4ece\u5b9a\u4e49\u5904\u5f00\u59cb\u5168\u5c40\u751f\u6548<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\u4f5c\u7528\u57df\uff0c\u9075\u5faa C++ \u7684\u4f5c\u7528\u57df\u89c4\u5219<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5176\u4ed6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u5b9a\u4e49\u51fd\u6570\u3001\u5e38\u91cf\u7b49\uff0c\u529f\u80fd\u590d\u6742<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u8bbf\u95ee\u7c7b\u7684\u79c1\u6709\u6210\u5458<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">53. \u9759\u6001\u53d8\u91cf\u4ec0\u4e48\u65f6\u5019\u521d\u59cb\u5316<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u9759\u6001\u53d8\u91cf\u7684\u521d\u59cb\u5316\u65f6\u673a\u53d6\u51b3\u4e8e\u5176\u7c7b\u578b\u548c\u4f4d\u7f6e\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5168\u5c40\u9759\u6001\u53d8\u91cf \/ \u7c7b\u7684\u9759\u6001\u6210\u5458\u53d8\u91cf<\/strong>\uff1a\u5728 <strong><code>main<\/code> \u51fd\u6570\u6267\u884c\u4e4b\u524d<\/strong>\u8fdb\u884c\u521d\u59cb\u5316\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u5728\u7a0b\u5e8f\u7684<strong>\u9759\u6001\u521d\u59cb\u5316\u9636\u6bb5<\/strong>\u5b8c\u6210\u3002<\/li>\n\n\n\n<li><strong>\u5c40\u90e8\u9759\u6001\u53d8\u91cf\uff08\u51fd\u6570\u5185\u90e8\uff09<\/strong>\uff1a\u5728<strong>\u7b2c\u4e00\u6b21\u6267\u884c\u5230\u5176\u58f0\u660e\u8bed\u53e5\u65f6<\/strong>\u8fdb\u884c\u521d\u59cb\u5316\u3002\u8fd9\u662f\u7ebf\u7a0b\u5b89\u5168\u7684\uff08C++11 \u8d77\uff09\u3002\u8fd9\u79cd\u5ef6\u8fdf\u521d\u59cb\u5316\u673a\u5236\u4f7f\u5f97 <code>Meyer's Singleton<\/code> \u6210\u4e3a\u53ef\u80fd\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">54. \u52a8\u6001\u7f16\u8bd1\u548c\u9759\u6001\u7f16\u8bd1<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u6307\u7684\u662f\u7a0b\u5e8f\u4e0e\u5e93\u7684\u94fe\u63a5\u65b9\u5f0f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9759\u6001\u7f16\u8bd1<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8fc7\u7a0b<\/strong>\uff1a\u5728\u7f16\u8bd1\u94fe\u63a5\u65f6\uff0c\u5c06\u5e93\u7684\u4ee3\u7801<strong>\u76f4\u63a5\u590d\u5236<\/strong>\u5230\u6700\u7ec8\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e2d\u3002<\/li>\n\n\n\n<li><strong>\u7ed3\u679c<\/strong>\uff1a\u751f\u6210\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4f53\u79ef\u8f83\u5927\uff0c\u4f46\u53ef\u4ee5\u72ec\u7acb\u8fd0\u884c\uff0c\u4e0d\u4f9d\u8d56\u8fd0\u884c\u73af\u5883\u7684\u5e93\u7248\u672c\u3002<\/li>\n\n\n\n<li><strong>\u5e93\u6587\u4ef6<\/strong>\uff1a\u5728 Linux \u4e0b\u662f <code>.a<\/code> \u6587\u4ef6\uff08Archive\uff09\uff0c\u5728 Windows \u4e0b\u662f <code>.lib<\/code> \u6587\u4ef6\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u52a8\u6001\u7f16\u8bd1<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8fc7\u7a0b<\/strong>\uff1a\u5728\u7f16\u8bd1\u94fe\u63a5\u65f6\uff0c\u53ea\u8bb0\u5f55\u9700\u8981\u54ea\u4e9b\u52a8\u6001\u5e93\u51fd\u6570\u3002<strong>\u5e93\u7684\u4ee3\u7801\u5e76\u4e0d\u5d4c\u5165<\/strong>\u53ef\u6267\u884c\u6587\u4ef6\u4e2d\u3002<\/li>\n\n\n\n<li><strong>\u7ed3\u679c<\/strong>\uff1a\u751f\u6210\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4f53\u79ef\u5c0f\uff0c\u4f46\u8fd0\u884c\u65f6\u9700\u8981\u7cfb\u7edf\u4e2d\u5b58\u5728\u76f8\u5e94\u7248\u672c\u7684\u52a8\u6001\u5e93\u3002<\/li>\n\n\n\n<li><strong>\u5e93\u6587\u4ef6<\/strong>\uff1a\u5728 Linux \u4e0b\u662f <code>.so<\/code> \u6587\u4ef6\uff08Shared Object\uff09\uff0c\u5728 Windows \u4e0b\u662f <code>.dll<\/code> \u6587\u4ef6\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u591a\u4e2a\u7a0b\u5e8f\u53ef\u5171\u4eab\u540c\u4e00\u4e2a\u5e93\uff0c\u8282\u7701\u5185\u5b58\u548c\u78c1\u76d8\u7a7a\u95f4\uff1b\u5e93\u5347\u7ea7\u65b9\u4fbf\uff0c\u53ea\u9700\u66ff\u6362\u52a8\u6001\u5e93\u6587\u4ef6\uff08\u9700\u6ce8\u610f\u7248\u672c\u517c\u5bb9\u6027\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">55. inline\u51fd\u6570\u7684\u4f7f\u7528\uff0c\u7f3a\u70b9\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528<\/strong>\uff1a\u5728\u51fd\u6570\u58f0\u660e\u6216\u5b9a\u4e49\u524d\u52a0\u4e0a <code>inline<\/code> \u5173\u952e\u5b57\u3002\u901a\u5e38\u5c06\u77ed\u5c0f\u3001\u9891\u7e41\u8c03\u7528\u7684\u51fd\u6570\u58f0\u660e\u4e3a\u5185\u8054\u3002cpp\u590d\u5236\u4e0b\u8f7dinline int max(int a, int b) { return a > b ? a : b; }<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4ee3\u7801\u81a8\u80c0<\/strong>\uff1a\u5982\u679c\u5185\u8054\u51fd\u6570\u4f53\u5f88\u5927\u6216\u88ab\u591a\u6b21\u8c03\u7528\uff0c\u4f1a\u5bfc\u81f4\u6700\u7ec8\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4f53\u79ef\u663e\u8457\u589e\u5927\u3002<\/li>\n\n\n\n<li><strong>\u5e76\u975e\u5f3a\u5236\u5185\u8054<\/strong>\uff1a<code>inline<\/code> \u53ea\u662f\u5bf9\u7f16\u8bd1\u5668\u7684<strong>\u5efa\u8bae<\/strong>\uff0c\u7f16\u8bd1\u5668\u6709\u6743\u62d2\u7edd\u3002\u590d\u6742\u7684\u51fd\u6570\uff08\u5982\u5305\u542b\u5faa\u73af\u3001\u9012\u5f52\u7684\u51fd\u6570\uff09\u901a\u5e38\u4e0d\u4f1a\u88ab\u5185\u8054\u3002<\/li>\n\n\n\n<li><strong>\u8c03\u8bd5\u56f0\u96be<\/strong>\uff1a\u5185\u8054\u51fd\u6570\u5728\u8c03\u7528\u5904\u5c55\u5f00\uff0c\u53ef\u80fd\u7ed9\u8c03\u8bd5\u5e26\u6765\u4e00\u4e9b\u4e0d\u4fbf\uff08\u4f8b\u5982\uff0c\u65e0\u6cd5\u5728\u51fd\u6570\u5185\u8bbe\u7f6e\u65ad\u70b9\uff09\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u80fd\u964d\u4f4e\u6027\u80fd<\/strong>\uff1a\u4ee3\u7801\u81a8\u80c0\u4f1a\u5bfc\u81f4\u6307\u4ee4\u7f13\u5b58\u547d\u4e2d\u7387\u964d\u4f4e\uff0c\u53cd\u800c\u53ef\u80fd\u964d\u4f4e\u7a0b\u5e8f\u6027\u80fd\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">56. \u4e3a\u4ec0\u4e48\u62f7\u8d1d\u6784\u9020\u51fd\u6570\u5fc5\u987b\u4f20\u5f15\u7528\u800c\u4e0d\u80fd\u4f20\u503c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u662f\u4e00\u4e2a\u7ecf\u5178\u7684\u5faa\u73af\u4f9d\u8d56\u95ee\u9898\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5982\u679c\u62f7\u8d1d\u6784\u9020\u51fd\u6570\u6309\u503c\u4f20\u9012<\/strong>\uff1a\u4e3a\u4e86\u5c06\u5b9e\u53c2\u4f20\u9012\u7ed9\u5f62\u53c2\uff0c\u9700\u8981\u8c03\u7528<strong>\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/strong>\u6765\u521b\u5efa\u5f62\u53c2\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u8fd9\u5c31\u5f62\u6210\u4e86\u4e00\u4e2a\u65e0\u9650\u9012\u5f52<\/strong>\uff1a\u8c03\u7528\u62f7\u8d1d\u6784\u9020\u51fd\u6570 -> \u9700\u8981\u6309\u503c\u4f20\u53c2 -> \u518d\u6b21\u8c03\u7528\u62f7\u8d1d\u6784\u9020\u51fd\u6570 -> &#8230; \u76f4\u5230\u6808\u6ea2\u51fa\u3002<\/li>\n\n\n\n<li><strong>\u56e0\u6b64\uff0c\u62f7\u8d1d\u6784\u9020\u51fd\u6570\u7684\u53c2\u6570\u5fc5\u987b\u662f\u5f15\u7528<\/strong>\uff08\u901a\u5e38\u662f <code>const<\/code> \u5f15\u7528\uff09\uff0c\u8fd9\u6837\u5c31\u907f\u514d\u4e86\u5728\u4f20\u53c2\u65f6\u518d\u6b21\u8c03\u7528\u62f7\u8d1d\u6784\u9020\uff0c\u4ece\u800c\u6253\u7834\u4e86\u9012\u5f52\u94fe\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">57. \u7c7b\u4e2d\u9759\u6001\u51fd\u6570\u5360\u7528\u5185\u5b58\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u4e0d\u5360\u7528\u7c7b\u7684\u5bf9\u8c61\u7684\u5185\u5b58<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9759\u6001\u6210\u5458\u51fd\u6570\u5c5e\u4e8e<strong>\u7c7b\u672c\u8eab<\/strong>\uff0c\u800c\u4e0d\u662f\u7c7b\u7684\u67d0\u4e2a\u5bf9\u8c61\u3002\u5b83\u88ab\u6240\u6709\u5bf9\u8c61\u5171\u4eab\u3002<\/li>\n\n\n\n<li>\u9759\u6001\u6210\u5458\u51fd\u6570\u7684\u5b58\u5728\u4e0e\u7c7b\u7684\u5bf9\u8c61\u5b9e\u4f8b\u5316\u4e0e\u5426\u65e0\u5173\u3002\u5b83\u5728\u7a0b\u5e8f\u7684\u751f\u547d\u5468\u671f\u5185\u53ea\u6709\u4e00\u4efd\uff0c\u5b58\u50a8\u5728\u4ee3\u7801\u533a\u6216\u5176\u4ed6\u5168\u5c40\u6570\u636e\u533a\uff0c\u4e0d\u4f1a\u968f\u7740\u5bf9\u8c61\u7684\u521b\u5efa\u800c\u5206\u914d\uff0c\u4e5f\u4e0d\u4f1a\u968f\u7740\u5bf9\u8c61\u7684\u9500\u6bc1\u800c\u91ca\u653e\u3002<\/li>\n\n\n\n<li>\u56e0\u6b64\uff0c<code>sizeof(MyClass)<\/code> \u4e0d\u4f1a\u5305\u542b\u9759\u6001\u6210\u5458\u51fd\u6570\u7684\u5927\u5c0f\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">58. \u6784\u9020\u51fd\u6570\u521d\u59cb\u5316\u548c\u5217\u8868\u521d\u59cb\u5316\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u91cc\u6307\u7684\u662f\u5728\u6784\u9020\u51fd\u6570\u4f53\u5185\u8d4b\u503c\u548c\u4f7f\u7528\u521d\u59cb\u5316\u5217\u8868\u7684\u533a\u522b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u521d\u59cb\u5316\u5217\u8868<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8bed\u6cd5<\/strong>\uff1a<code>MyClass(int x, int y) : mem1(x), mem2(y) {}<\/code><\/li>\n\n\n\n<li><strong>\u65f6\u673a<\/strong>\uff1a\u5728\u6784\u9020\u51fd\u6570\u4f53<strong>\u6267\u884c\u4e4b\u524d<\/strong>\uff0c\u76f4\u63a5\u521d\u59cb\u5316\u6210\u5458\u53d8\u91cf\u3002\u5bf9\u4e8e\u7c7b\u7c7b\u578b\u7684\u6210\u5458\uff0c\u8fd9\u4f1a\u8c03\u7528\u5b83\u4eec\u7684<strong>\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u5fc5\u987b\u4f7f\u7528\u7684\u60c5\u51b5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u521d\u59cb\u5316 <strong>const \u6210\u5458<\/strong>\u3002<\/li>\n\n\n\n<li>\u521d\u59cb\u5316 <strong>\u5f15\u7528\u6210\u5458<\/strong>\u3002<\/li>\n\n\n\n<li>\u521d\u59cb\u5316<strong>\u6ca1\u6709\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\u7684\u7c7b\u7c7b\u578b\u6210\u5458<\/strong>\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6784\u9020\u51fd\u6570\u4f53\u5185\u8d4b\u503c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8bed\u6cd5<\/strong>\uff1a<code>MyClass(int x, int y) { mem1 = x; mem2 = y; }<\/code><\/li>\n\n\n\n<li><strong>\u65f6\u673a<\/strong>\uff1a\u5728\u6784\u9020\u51fd\u6570\u4f53\u5185\uff0c\u8fd9\u5b9e\u9645\u4e0a\u662f<strong>\u5148\u9ed8\u8ba4\u521d\u59cb\u5316\u6210\u5458\uff0c\u7136\u540e\u518d\u8fdb\u884c\u8d4b\u503c\u64cd\u4f5c<\/strong>\u3002\u5bf9\u4e8e\u7c7b\u7c7b\u578b\u7684\u6210\u5458\uff0c\u8fd9\u4f1a\u5148\u8c03\u7528\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\uff0c\u518d\u8c03\u7528\u8d4b\u503c\u8fd0\u7b97\u7b26\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6548\u7387<\/strong>\uff1a\u5bf9\u4e8e\u975e\u5185\u7f6e\u7c7b\u578b\uff0c\u4f7f\u7528\u521d\u59cb\u5316\u5217\u8868\u901a\u5e38\u6548\u7387\u66f4\u9ad8\uff0c\u56e0\u4e3a\u5b83\u907f\u514d\u4e86\u5148\u9ed8\u8ba4\u6784\u9020\u518d\u8d4b\u503c\u7684\u5f00\u9500\u3002<strong>\u63a8\u8350\u603b\u662f\u4f7f\u7528\u521d\u59cb\u5316\u5217\u8868<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">59. \u865a\u51fd\u6570\u8868\u7684\u4f5c\u7528\u548c\u5b58\u50a8\u5730\u5740<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u865a\u51fd\u6570\u8868\u662f\u5b9e\u73b0 C++ \u52a8\u6001\u591a\u6001\uff08\u8fd0\u884c\u65f6\u591a\u6001\uff09\u7684\u6838\u5fc3\u673a\u5236\u3002\u5b83\u662f\u4e00\u4e2a\u51fd\u6570\u6307\u9488\u6570\u7ec4\uff0c\u5b58\u50a8\u4e86\u5f53\u524d\u7c7b\u7684\u5404\u4e2a\u865a\u51fd\u6570\u7684\u5b9e\u9645\u5730\u5740\u3002\u6bcf\u4e2a\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\u90fd\u6709\u4e00\u4e2a\u81ea\u5df1\u7684\u865a\u51fd\u6570\u8868\u3002<\/li>\n\n\n\n<li><strong>\u5b58\u50a8\u5730\u5740<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u865a\u51fd\u6570\u8868\uff08vtable\uff09\u672c\u8eab<\/strong>\uff1a\u7f16\u8bd1\u5668\u5728\u7f16\u8bd1\u671f\u4e3a\u6bcf\u4e2a\u7c7b\u751f\u6210\u865a\u51fd\u6570\u8868\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a<strong>\u53ea\u8bfb\u6570\u636e<\/strong>\u5b58\u50a8\u5728\u7a0b\u5e8f\u7684<strong>\u4ee3\u7801\u6bb5\u6216\u9759\u6001\u6570\u636e\u6bb5<\/strong>\u4e2d\u3002\u6bcf\u4e2a\u7c7b\u7684\u865a\u51fd\u6570\u8868\u5728\u5185\u5b58\u4e2d\u53ea\u6709\u4e00\u4efd\u3002<\/li>\n\n\n\n<li><strong>\u865a\u51fd\u6570\u8868\u6307\u9488\uff08vptr\uff09<\/strong>\uff1a\u6bcf\u4e2a\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\u7684<strong>\u5bf9\u8c61\u5185\u90e8<\/strong>\uff0c\u7f16\u8bd1\u5668\u4f1a\u9690\u5f0f\u5730\u6dfb\u52a0\u4e00\u4e2a\u6307\u9488\u6210\u5458 <code>vptr<\/code>\u3002\u8fd9\u4e2a <code>vptr<\/code> \u5728\u5bf9\u8c61\u6784\u9020\u65f6\u88ab\u8bbe\u7f6e\u4e3a\u6307\u5411\u5176\u6240\u5c5e\u7c7b\u7684\u865a\u51fd\u6570\u8868\u3002\u56e0\u6b64\uff0c<code>vptr<\/code> \u5b58\u50a8\u5728<strong>\u6bcf\u4e2a\u5bf9\u8c61\u7684\u5185\u5b58\u5e03\u5c40\u4e2d<\/strong>\uff08\u901a\u5e38\u5728\u6700\u524d\u9762\uff09\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">60. \u6cdb\u578b\u7f16\u7a0b\u7684\u610f\u4e49<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6cdb\u578b\u7f16\u7a0b\u662f\u4e00\u79cd\u7f16\u7a0b\u8303\u5f0f\uff0c\u6838\u5fc3\u601d\u60f3\u662f<strong>\u5c06\u7b97\u6cd5\u4ece\u7279\u5b9a\u7684\u6570\u636e\u7c7b\u578b\u4e2d\u62bd\u8c61\u51fa\u6765<\/strong>\uff0c\u4f7f\u5176\u80fd\u9002\u7528\u4e8e\u591a\u79cd\u6570\u636e\u7c7b\u578b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5728 C++ \u4e2d\u7684\u5b9e\u73b0<\/strong>\uff1a\u4e3b\u8981\u901a\u8fc7<strong>\u6a21\u677f<\/strong>\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li><strong>\u610f\u4e49<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4ee3\u7801\u590d\u7528<\/strong>\uff1a\u7f16\u5199\u4e00\u6b21\u7b97\u6cd5\u6216\u6570\u636e\u7ed3\u6784\uff0c\u5373\u53ef\u7528\u4e8e\u4e0d\u540c\u7684\u7c7b\u578b\uff0c\u5927\u5927\u63d0\u9ad8\u4e86\u4ee3\u7801\u7684\u590d\u7528\u6027\u3002\u4f8b\u5982\uff0c\u4e00\u4e2a <code>sort<\/code> \u6a21\u677f\u51fd\u6570\u53ef\u4ee5\u6392\u5e8f <code>int<\/code>, <code>double<\/code>, <code>string<\/code> \u7b49\u3002<\/li>\n\n\n\n<li><strong>\u7c7b\u578b\u5b89\u5168<\/strong>\uff1a\u76f8\u6bd4\u4f7f\u7528 <code>void*<\/code> \u7684 C \u98ce\u683c\u6cdb\u578b\uff0c\u6a21\u677f\u5728\u7f16\u8bd1\u65f6\u8fdb\u884c\u7c7b\u578b\u68c0\u67e5\uff0c\u66f4\u52a0\u5b89\u5168\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd<\/strong>\uff1a\u6a21\u677f\u662f\u5728\u7f16\u8bd1\u671f\u5b9e\u4f8b\u5316\u7684\uff0c\u751f\u6210\u7684\u4ee3\u7801\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\uff0c\u6ca1\u6709\u8fd0\u884c\u65f6\u5f00\u9500\uff0c\u6548\u7387\u4e0e\u624b\u5199\u9488\u5bf9\u8be5\u7c7b\u578b\u7684\u4ee3\u7801\u76f8\u5f53\uff08\u79f0\u4e3a&#8221;\u96f6\u5f00\u9500\u62bd\u8c61&#8221;\uff09\u3002<\/li>\n\n\n\n<li><strong>STL \u7684\u57fa\u7840<\/strong>\uff1aC++ \u6807\u51c6\u6a21\u677f\u5e93\uff08STL\uff09\u662f\u6cdb\u578b\u7f16\u7a0b\u7684\u5178\u8303\uff0c\u63d0\u4f9b\u4e86\u5927\u91cf\u901a\u7528\u7684\u5bb9\u5668\u3001\u7b97\u6cd5\u548c\u8fed\u4ee3\u5668\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">61. \u9762\u5411\u5bf9\u8c61\u7684\u4e09\u5927\u7279\u5f81\u7684\u610f\u4e49<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5c01\u88c5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u610f\u4e49<\/strong>\uff1a\u5c06\u6570\u636e\uff08\u5c5e\u6027\uff09\u548c\u64cd\u4f5c\u6570\u636e\u7684\u65b9\u6cd5\uff08\u884c\u4e3a\uff09\u7ed1\u5b9a\u5728\u4e00\u8d77\uff0c\u5f62\u6210\u4e00\u4e2a\u7c7b\uff1b\u5e76\u901a\u8fc7\u5bf9\u8bbf\u95ee\u6743\u9650\u7684\u63a7\u5236\uff08<code>public<\/code>, <code>private<\/code>, <code>protected<\/code>\uff09\u6765\u9690\u85cf\u5bf9\u8c61\u7684\u5185\u90e8\u5b9e\u73b0\u7ec6\u8282\u3002<\/li>\n\n\n\n<li><strong>\u597d\u5904<\/strong>\uff1a\u63d0\u9ad8\u4e86\u4ee3\u7801\u7684\u5b89\u5168\u6027\uff08\u6570\u636e\u4e0d\u80fd\u88ab\u968f\u610f\u4fee\u6539\uff09\u548c\u53ef\u7ef4\u62a4\u6027\uff08\u5185\u90e8\u5b9e\u73b0\u6539\u53d8\u4e0d\u5f71\u54cd\u5916\u90e8\u63a5\u53e3\uff09\uff0c\u964d\u4f4e\u4e86\u7cfb\u7edf\u7684\u8026\u5408\u5ea6\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7ee7\u627f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u610f\u4e49<\/strong>\uff1a\u5141\u8bb8\u4e00\u4e2a\u65b0\u7c7b\uff08\u6d3e\u751f\u7c7b\uff09\u7ee7\u627f\u73b0\u6709\u7c7b\uff08\u57fa\u7c7b\uff09\u7684\u7279\u5f81\uff08\u6570\u636e\u6210\u5458\u548c\u6210\u5458\u51fd\u6570\uff09\u3002<\/li>\n\n\n\n<li><strong>\u597d\u5904<\/strong>\uff1a\u5b9e\u73b0\u4e86\u4ee3\u7801\u7684<strong>\u590d\u7528<\/strong>\uff0c\u53ef\u4ee5\u5efa\u7acb\u7c7b\u7684\u5c42\u6b21\u7ed3\u6784\uff0c\u4f7f\u7cfb\u7edf\u6613\u4e8e\u6269\u5c55\u3002\u4e5f\u662f\u5b9e\u73b0\u591a\u6001\u7684\u57fa\u7840\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u591a\u6001<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u610f\u4e49<\/strong>\uff1a\u540c\u4e00\u64cd\u4f5c\u4f5c\u7528\u4e8e\u4e0d\u540c\u7684\u5bf9\u8c61\uff0c\u53ef\u4ee5\u6709\u4e0d\u540c\u7684\u89e3\u91ca\uff0c\u4ea7\u751f\u4e0d\u540c\u7684\u6267\u884c\u7ed3\u679c\u3002\u5373&#8221;\u4e00\u4e2a\u63a5\u53e3\uff0c\u591a\u79cd\u5b9e\u73b0&#8221;\u3002<\/li>\n\n\n\n<li><strong>\u597d\u5904<\/strong>\uff1a\u589e\u5f3a\u4e86\u7a0b\u5e8f\u7684<strong>\u7075\u6d3b\u6027\u548c\u53ef\u6269\u5c55\u6027<\/strong>\u3002\u5141\u8bb8\u5728\u8fd0\u884c\u65f6\u52a8\u6001\u7ed1\u5b9a\u5177\u4f53\u884c\u4e3a\uff0c\u4f7f\u5f97\u7a0b\u5e8f\u53ef\u4ee5\u5e94\u5bf9\u672a\u6765\u7684\u53d8\u5316\uff0c\u7b26\u5408&#8221;\u5f00\u95ed\u539f\u5219&#8221;\uff08\u5bf9\u6269\u5c55\u5f00\u653e\uff0c\u5bf9\u4fee\u6539\u5c01\u95ed\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">62. \u7c7b\u6307\u9488\u521d\u59cb\u5316\u4e3a\u7a7a\u6307\u9488\u540e\u8c03\u7528\u6210\u5458\u51fd\u6570\u4f1a\u51fa\u95ee\u9898\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u53d6\u51b3\u4e8e\u8c03\u7528\u7684\u6210\u5458\u51fd\u6570\u7c7b\u578b<\/strong>\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8c03\u7528\u975e\u865a\u51fd\u6570\uff08\u666e\u901a\u6210\u5458\u51fd\u6570\/\u9759\u6001\u6210\u5458\u51fd\u6570\uff09<\/strong>\uff1a<strong>\u4e0d\u4f1a\u51fa\u95ee\u9898\uff0c\u53ef\u4ee5\u6b63\u5e38\u8c03\u7528<\/strong>\u3002<ul><li><strong>\u539f\u56e0<\/strong>\uff1a\u975e\u865a\u51fd\u6570\u7684\u8c03\u7528\u5728\u7f16\u8bd1\u65f6\u5c31\u5df2\u7ecf\u786e\u5b9a\uff08\u9759\u6001\u7ed1\u5b9a\uff09\uff0c\u7f16\u8bd1\u5668\u6839\u636e\u6307\u9488\u7684<strong>\u9759\u6001\u7c7b\u578b<\/strong>\u6765\u751f\u6210\u8c03\u7528\u4ee3\u7801\u3002\u8c03\u7528\u65f6\u4e0d\u9700\u8981\u8bbf\u95ee\u5bf9\u8c61\u7684\u5185\u5b58\uff08\u5373\u4e0d\u9700\u8981 <code>this<\/code> \u6307\u9488\u6307\u5411\u6709\u6548\u7684\u5bf9\u8c61\uff09\u3002\u51fd\u6570\u4ee3\u7801\u662f\u5b58\u5728\u4e8e\u4ee3\u7801\u533a\u7684\uff0c\u4e0e\u5bf9\u8c61\u65e0\u5173\u3002<\/li><\/ul>cpp\u590d\u5236\u4e0b\u8f7dMyClass* ptr = nullptr; ptr->staticFunction(); \/\/ \u6b63\u786e\uff0c\u9759\u6001\u51fd\u6570\u5c5e\u4e8e\u7c7b ptr->nonVirtualFunction(); \/\/ \u80fd\u7f16\u8bd1\u901a\u8fc7\uff0c\u4f46\u5982\u679c\u5728\u51fd\u6570\u5185\u4f7f\u7528this\u6307\u9488\uff08\u5982\u8bbf\u95ee\u6210\u5458\u53d8\u91cf\uff09\uff0c\u5219\u8fd0\u884c\u65f6\u5d29\u6e83\n<ul class=\"wp-block-list\">\n<li><strong>\u6ce8\u610f<\/strong>\uff1a\u867d\u7136\u8bed\u6cd5\u4e0a\u53ef\u884c\uff0c\u4f46\u5982\u679c\u8be5\u975e\u865a\u51fd\u6570\u5185\u90e8\u8bd5\u56fe\u901a\u8fc7 <code>this<\/code> \u6307\u9488\u8bbf\u95ee\u6210\u5458\u53d8\u91cf\uff0c\u5219\u4f1a\u5bf9 <code>nullptr<\/code> \u89e3\u5f15\u7528\uff0c\u5bfc\u81f4<strong>\u8fd0\u884c\u65f6\u5d29\u6e83<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8c03\u7528\u865a\u51fd\u6570<\/strong>\uff1a<strong>\u4f1a\u51fa\u95ee\u9898\uff0c\u5bfc\u81f4\u8fd0\u884c\u65f6\u672a\u5b9a\u4e49\u884c\u4e3a\uff08\u901a\u5e38\u662f\u5d29\u6e83\uff09<\/strong>\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u56e0<\/strong>\uff1a\u865a\u51fd\u6570\u7684\u8c03\u7528\u9700\u8981\u901a\u8fc7\u5bf9\u8c61\u7684\u865a\u51fd\u6570\u8868\u6307\u9488 <code>vptr<\/code> \u6765\u67e5\u627e\u51fd\u6570\u5730\u5740\uff08\u52a8\u6001\u7ed1\u5b9a\uff09\u3002\u5f53\u6307\u9488\u4e3a <code>nullptr<\/code> \u65f6\uff0c\u8bbf\u95ee <code>vptr<\/code> \u672c\u8eab\u5c31\u662f\u5bf9\u7a7a\u6307\u9488\u7684\u89e3\u5f15\u7528\uff0c\u7a0b\u5e8f\u4f1a\u5728\u67e5\u8868\u4e4b\u524d\u5c31\u5d29\u6e83\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">63. \u52a8\u6001\u6307\u9488\u7684\u5224\u7a7a<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728 C++ \u4e2d\uff0c\u5224\u65ad\u4e00\u4e2a\u539f\u751f\u6307\u9488\u662f\u5426\u4e3a\u7a7a\u975e\u5e38\u7b80\u5355\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int* ptr = nullptr; \/\/ \u6216 NULL \u6216 0\n\n\/\/ \u65b9\u6cd5\u4e00\uff1a\u76f4\u63a5\u4e0e nullptr \u6bd4\u8f83\uff08C++11 \u540e\u63a8\u8350\uff09\nif (ptr == nullptr) {\n    \/\/ \u6307\u9488\u4e3a\u7a7a\n}\n\n\/\/ \u65b9\u6cd5\u4e8c\uff1a\u76f4\u63a5\u4f7f\u7528\u6307\u9488\u672c\u8eab\uff0c\u56e0\u4e3a\u7a7a\u6307\u9488\u5728\u5e03\u5c14\u4e0a\u4e0b\u6587\u4e2d\u4e3a false\nif (!ptr) {\n    \/\/ \u6307\u9488\u4e3a\u7a7a\n}\nif (ptr) {\n    \/\/ \u6307\u9488\u975e\u7a7a\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bf9\u4e8e<strong>\u667a\u80fd\u6307\u9488<\/strong>\uff08<code>unique_ptr<\/code>, <code>shared_ptr<\/code>\uff09\uff0c\u5224\u7a7a\u65b9\u5f0f\u76f8\u540c\uff0c\u56e0\u4e3a\u5b83\u4eec\u91cd\u8f7d\u4e86 <code>operator bool()<\/code>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">std::shared_ptr&lt;int&gt; smartPtr;\nif (!smartPtr) { \/\/ \u6b63\u786e\uff0c\u5224\u65ad\u662f\u5426\u4e3a\u7a7a\n    \/\/ ...\n}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">64. \u6784\u9020\u51fd\u6570\u53ef\u4ee5\u8bbe\u7f6e\u6210\u865a\u51fd\u6570\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u4e0d\u53ef\u4ee5<\/strong>\u3002\u539f\u56e0\u5728\u4e4b\u524d\u7684\u7b2c 28 \u9898\u5df2\u7ecf\u8be6\u7ec6\u89e3\u91ca\u8fc7\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4ece <code>vptr<\/code> \u7684\u521b\u5efa\u65f6\u673a\u770b<\/strong>\uff1a\u865a\u51fd\u6570\u673a\u5236\u4f9d\u8d56\u4e8e <code>vptr<\/code>\uff0c\u800c <code>vptr<\/code> \u662f\u5728\u6784\u9020\u51fd\u6570\u4e2d\u521d\u59cb\u5316\u7684\u3002\u5728\u6784\u9020\u51fd\u6570\u6267\u884c\u524d\uff0c\u5bf9\u8c61\u4e0d\u5b8c\u6574\uff0c<code>vptr<\/code> \u672a\u8bbe\u7f6e\uff0c\u65e0\u6cd5\u8fdb\u884c\u865a\u51fd\u6570\u8c03\u7528\u3002<\/li>\n\n\n\n<li><strong>\u4ece\u8bed\u4e49\u4e0a\u770b<\/strong>\uff1a\u6784\u9020\u51fd\u6570\u7684\u4efb\u52a1\u662f\u521b\u5efa\u7279\u5b9a\u7c7b\u578b\u7684\u5bf9\u8c61\u3002\u4f60\u9700\u8981\u660e\u786e\u77e5\u9053\u8981\u521b\u5efa\u4ec0\u4e48\u7c7b\u578b\uff0c\u4e0d\u5b58\u5728&#8221;\u901a\u8fc7\u57fa\u7c7b\u63a5\u53e3\u6784\u9020\u4e0d\u786e\u5b9a\u7684\u6d3e\u751f\u7c7b\u5bf9\u8c61&#8221;\u7684\u8bed\u4e49\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">65. new\u548cmalloc\u4e4b\u95f4\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6b64\u95ee\u9898\u4e0e\u7b2c 47 \u9898\uff08<code>new\/delete<\/code> \u4e0e <code>malloc\/free<\/code> \u7684\u5f02\u540c\uff09\u672c\u8d28\u76f8\u540c\u3002\u6838\u5fc3\u533a\u522b\u5728\u4e8e\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>new<\/code> \u662f<strong>\u8fd0\u7b97\u7b26<\/strong>\uff0c<code>malloc<\/code> \u662f<strong>\u5e93\u51fd\u6570<\/strong>\u3002<\/li>\n\n\n\n<li><code>new<\/code> \u4f1a<strong>\u8c03\u7528\u6784\u9020\u51fd\u6570<\/strong>\uff0c<code>malloc<\/code> \u4e0d\u4f1a\u3002<\/li>\n\n\n\n<li><code>new<\/code> \u8fd4\u56de<strong>\u7c7b\u578b\u5b89\u5168<\/strong>\u7684\u6307\u9488\uff0c<code>malloc<\/code> \u8fd4\u56de <code>void*<\/code>\u3002<\/li>\n\n\n\n<li><code>new<\/code> \u5931\u8d25\u65f6<strong>\u629b\u51fa\u5f02\u5e38<\/strong>\uff0c<code>malloc<\/code> \u5931\u8d25\u65f6\u8fd4\u56de <code>NULL<\/code>\u3002<\/li>\n\n\n\n<li><code>new<\/code> \u7684\u5927\u5c0f\u7531<strong>\u7f16\u8bd1\u5668\u8ba1\u7b97<\/strong>\uff0c<code>malloc<\/code> \u9700\u8981<strong>\u624b\u52a8\u8ba1\u7b97<\/strong>\u5b57\u8282\u6570\u3002<\/li>\n\n\n\n<li><code>new<\/code>\/<code>delete<\/code> \u53ef\u4ee5\u88ab<strong>\u91cd\u8f7d<\/strong>\uff0c<code>malloc<\/code>\/<code>free<\/code> \u4e0d\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">66. \u865a\u51fd\u6570\u8868\u91cc\u5b58\u653e\u7684\u5185\u5bb9\u662f\u4ec0\u4e48\u65f6\u5019\u5199\u8fdb\u53bb\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u865a\u51fd\u6570\u8868\u7684\u5185\u5bb9\uff08\u5373\u5404\u4e2a\u865a\u51fd\u6570\u7684\u5730\u5740\uff09\u662f\u5728<strong>\u7f16\u8bd1\u671f<\/strong>\u5c31\u7531\u7f16\u8bd1\u5668\u786e\u5b9a\u5e76\u5199\u5165\u5230\u7a0b\u5e8f\u7684<strong>\u9759\u6001\u6570\u636e\u533a<\/strong>\u7684\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7f16\u8bd1\u5668\u5206\u6790\u7c7b\u7684\u5c42\u6b21\u7ed3\u6784\uff0c\u4e3a\u6bcf\u4e2a\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\u751f\u6210\u4e00\u4e2a\u552f\u4e00\u7684\u865a\u51fd\u6570\u8868\u3002<\/li>\n\n\n\n<li>\u5bf9\u4e8e\u6bcf\u4e2a\u865a\u51fd\u6570\uff0c\u7f16\u8bd1\u5668\u5c06\u5176\u5b9e\u9645\u5730\u5740\uff08\u5bf9\u4e8e\u975e\u7eaf\u865a\u51fd\u6570\uff09\u6216\u4e00\u4e2a\u8868\u793a&#8221;\u7eaf\u865a&#8221;\u7684\u7279\u6b8a\u5360\u4f4d\u7b26\u5730\u5740\uff08\u5bf9\u4e8e\u7eaf\u865a\u51fd\u6570\uff09\u586b\u5145\u5230\u865a\u51fd\u6570\u8868\u7684\u76f8\u5e94\u69fd\u4f4d\u4e2d\u3002<\/li>\n\n\n\n<li>\u56e0\u6b64\uff0c\u865a\u51fd\u6570\u8868\u5728\u7a0b\u5e8f<strong>\u52a0\u8f7d\u5230\u5185\u5b58\u65f6<\/strong>\u5c31\u5df2\u7ecf\u5b58\u5728\uff0c\u5e76\u4e14\u5728\u6574\u4e2a\u7a0b\u5e8f\u8fd0\u884c\u671f\u95f4<strong>\u4fdd\u6301\u4e0d\u53d8<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">67. \u865a\u51fd\u6570\u548c\u7eaf\u865a\u51fd\u6570\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u5f81<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u865a\u51fd\u6570<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u7eaf\u865a\u51fd\u6570<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u58f0\u660e\u8bed\u6cd5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>virtual ReturnType func();<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>virtual ReturnType func() = 0;<\/code><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b9a\u4e49<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53ef\u4ee5\u6709\u5b9a\u4e49<\/strong>\uff0c\u6d3e\u751f\u7c7b\u53ef\u4ee5\u9009\u62e9\u662f\u5426\u91cd\u5199\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53ef\u4ee5\u6ca1\u6709\u5b9a\u4e49<\/strong>\uff08\u901a\u5e38\u6ca1\u6709\uff09\u3002\u5982\u679c\u6709\u5b9a\u4e49\uff0c\u9700\u8981\u7c7b\u5916\u5355\u72ec\u5b9a\u4e49\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6240\u5728\u7c7b<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\u53ef\u4ee5\u5b9e\u4f8b\u5316\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5305\u542b\u7eaf\u865a\u51fd\u6570\u7684\u7c7b\u662f<strong>\u62bd\u8c61\u7c7b<\/strong>\uff0c<strong>\u4e0d\u80fd\u5b9e\u4f8b\u5316<\/strong>\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u76ee\u7684<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4f9b<strong>\u9ed8\u8ba4\u5b9e\u73b0<\/strong>\uff0c\u5141\u8bb8\u6d3e\u751f\u7c7b<strong>\u9009\u62e9\u6027<\/strong>\u5730\u91cd\u5199\u4ee5\u6539\u53d8\u884c\u4e3a\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f3a\u5236<\/strong>\u6d3e\u751f\u7c7b\u5fc5\u987b\u63d0\u4f9b\u5b9e\u73b0\uff0c\u7528\u4e8e\u5b9a\u4e49<strong>\u63a5\u53e3\u89c4\u8303<\/strong>\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u865a\u51fd\u6570\u8868<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8868\u4e2d\u5b58\u653e\u8be5\u51fd\u6570\u7684\u5730\u5740\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8868\u4e2d\u5b58\u653e\u4e00\u4e2a\u7279\u6b8a\u503c\uff08\u6216\u6307\u5411\u4e00\u4e2a\u62a5\u9519\u51fd\u6570\u7684\u5730\u5740\uff09\uff0c\u8868\u793a\u6b64\u51fd\u6570\u662f\u7eaf\u865a\u7684\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">68. \u4e3a\u4ec0\u4e48\u6790\u6784\u51fd\u6570\u4e00\u822c\u5199\u6210\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u5f53\u57fa\u7c7b\u7684\u6307\u9488\u6307\u5411\u6d3e\u751f\u7c7b\u7684\u5bf9\u8c61\uff0c\u5e76\u901a\u8fc7\u8be5\u6307\u9488\u5220\u9664\u5bf9\u8c61\u65f6<\/strong>\uff0c\u5982\u679c\u57fa\u7c7b\u7684\u6790\u6784\u51fd\u6570\u4e0d\u662f\u865a\u51fd\u6570\uff0c\u5c31\u4f1a\u5bfc\u81f4<strong>\u672a\u5b9a\u4e49\u884c\u4e3a<\/strong>\uff08\u901a\u5e38\u662f\u53ea\u8c03\u7528\u4e86\u57fa\u7c7b\u7684\u6790\u6784\u51fd\u6570\uff0c\u800c\u6d3e\u751f\u7c7b\u7684\u6790\u6784\u51fd\u6570\u6ca1\u6709\u88ab\u8c03\u7528\uff0c\u9020\u6210\u8d44\u6e90\u6cc4\u6f0f\uff09\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f8b\u5b50<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dclass Base { public: ~Base() { cout &lt;&lt; &#8220;Base Destructor&#8221; &lt;&lt; endl; } \/\/ \u975e\u865a\u6790\u6784 }; class Derived : public Base { public: ~Derived() { cout &lt;&lt; &#8220;Derived Destructor&#8221; &lt;&lt; endl; } }; int main() { Base* ptr = new Derived(); delete ptr; \/\/ \u53ea\u8f93\u51fa &#8220;Base Destructor&#8221;\uff01Derived \u90e8\u5206\u7684\u8d44\u6e90\u6cc4\u6f0f\u4e86\u3002 return 0; }<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6cd5<\/strong>\uff1a\u5c06\u57fa\u7c7b\u7684\u6790\u6784\u51fd\u6570\u58f0\u660e\u4e3a\u865a\u51fd\u6570\u3002cpp\u590d\u5236\u4e0b\u8f7dclass Base { public: virtual ~Base() { cout &lt;&lt; &#8220;Base Destructor&#8221; &lt;&lt; endl; } \/\/ \u865a\u6790\u6784 }; \/\/ \u6b64\u65f6 delete ptr; \u4f1a\u5148\u8c03\u7528 ~Derived()\uff0c\u518d\u8c03\u7528 ~Base()\uff0c\u6b63\u786e\u91ca\u653e\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>\u539f\u5219<\/strong>\uff1a\u5982\u679c\u4e00\u4e2a\u7c7b\u6253\u7b97\u4f5c\u4e3a\u57fa\u7c7b\u88ab\u7ee7\u627f\uff0c\u90a3\u4e48\u5b83\u7684\u6790\u6784\u51fd\u6570<strong>\u5e94\u8be5<\/strong>\u58f0\u660e\u4e3a\u865a\u51fd\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">69. \u52a8\u6001\u591a\u6001\u7684\u5b9e\u73b0\u8fc7\u7a0b\u548c\u9759\u6001\u591a\u6001\u7684\u5b9e\u73b0\u8fc7\u7a0b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9759\u6001\u591a\u6001\uff08\u7f16\u8bd1\u65f6\u591a\u6001\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u4e3b\u8981\u901a\u8fc7<strong>\u51fd\u6570\u91cd\u8f7d<\/strong>\u548c<strong>\u6a21\u677f<\/strong>\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li><strong>\u8fc7\u7a0b<\/strong>\uff1a\u5728\u7f16\u8bd1\u9636\u6bb5\uff0c\u7f16\u8bd1\u5668\u6839\u636e\u51fd\u6570\u8c03\u7528\u65f6\u4f20\u9012\u7684\u5b9e\u53c2\u7c7b\u578b\u6216\u6a21\u677f\u7684\u5177\u4f53\u7c7b\u578b\u53c2\u6570\uff0c\u5c31\u80fd\u786e\u5b9a\u5177\u4f53\u8c03\u7528\u54ea\u4e2a\u51fd\u6570\u6216\u751f\u6210\u54ea\u4e2a\u7248\u672c\u7684\u4ee3\u7801\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u51fd\u6570\u91cd\u8f7d void print(int i) {&#8230;} void print(string s) {&#8230;} print(10); \/\/ \u7f16\u8bd1\u65f6\u51b3\u5b9a\u8c03\u7528 print(int) print(&#8220;hello&#8221;); \/\/ \u7f16\u8bd1\u65f6\u51b3\u5b9a\u8c03\u7528 print(string) \/\/ \u6a21\u677f template&lt;typename T> T add(T a, T b) { return a + b; } add(1, 2); \/\/ \u7f16\u8bd1\u65f6\u5b9e\u4f8b\u5316 add&lt;int> add(1.0, 2.0); \/\/ \u7f16\u8bd1\u65f6\u5b9e\u4f8b\u5316 add&lt;double><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u52a8\u6001\u591a\u6001\uff08\u8fd0\u884c\u65f6\u591a\u6001\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u4e3b\u8981\u901a\u8fc7<strong>\u865a\u51fd\u6570<\/strong>\u548c<strong>\u7ee7\u627f<\/strong>\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li><strong>\u8fc7\u7a0b<\/strong>\uff1a\u5728\u7f16\u8bd1\u9636\u6bb5\uff0c\u7f16\u8bd1\u5668\u53ea\u80fd\u786e\u5b9a\u8c03\u7528\u7684\u662f\u4e00\u4e2a\u865a\u51fd\u6570\u3002\u5177\u4f53\u8c03\u7528\u54ea\u4e2a\u7248\u672c\u7684\u51fd\u6570\uff08\u57fa\u7c7b\u8fd8\u662f\u6d3e\u751f\u7c7b\u7684\uff09\u9700\u8981\u7b49\u5230\u7a0b\u5e8f\u8fd0\u884c\u65f6\uff0c\u6839\u636e\u6307\u9488\u6216\u5f15\u7528\u6240\u6307\u5411\u7684<strong>\u5bf9\u8c61\u7684\u5b9e\u9645\u7c7b\u578b<\/strong>\uff0c\u901a\u8fc7\u67e5\u865a\u51fd\u6570\u8868\u624d\u80fd\u51b3\u5b9a\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dclass Animal { virtual void speak() { &#8230; } }; class Dog : public Animal { void speak() override { &#8230; } }; class Cat : public Animal { void speak() override { &#8230; } }; Animal* ptr = new Dog(); ptr->speak(); \/\/ \u8fd0\u884c\u65f6\uff0c\u6839\u636eptr\u5b9e\u9645\u6307\u5411\u7684Dog\u5bf9\u8c61\uff0c\u8c03\u7528Dog::speak() ptr = new Cat(); ptr->speak(); \/\/ \u8fd0\u884c\u65f6\uff0c\u8c03\u7528Cat::speak()<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">70. STL\u4e2dvector\u5220\u9664\u5176\u4e2d\u7684\u5143\u7d20\uff0c\u8fed\u4ee3\u5668\u5982\u4f55\u53d8\u5316\uff0c\u4e3a\u4ec0\u4e48\u662f\u4e24\u500d\u7a7a\u95f4\uff0c\u91ca\u653e\u7a7a\u95f4\uff1f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8fed\u4ee3\u5668\u5982\u4f55\u53d8\u5316<\/strong>\uff1a\u5728 <code>vector<\/code> \u4e2d\u5220\u9664\u5143\u7d20\uff0c\u4f1a\u5bfc\u81f4<strong>\u88ab\u5220\u9664\u5143\u7d20\u4e4b\u540e\u7684\u6240\u6709\u8fed\u4ee3\u5668\u3001\u6307\u9488\u3001\u5f15\u7528\u5931\u6548<\/strong>\u3002\u56e0\u4e3a\u5220\u9664\u64cd\u4f5c\u4f1a\u4f7f\u540e\u9762\u7684\u5143\u7d20\u5411\u524d\u79fb\u52a8\u3002\n<ul class=\"wp-block-list\">\n<li><code>erase<\/code> \u51fd\u6570\u4f1a\u8fd4\u56de\u4e00\u4e2a\u6307\u5411\u88ab\u5220\u9664\u5143\u7d20\u4e4b\u540e\u90a3\u4e2a\u5143\u7d20\u7684<strong>\u65b0\u8fed\u4ee3\u5668<\/strong>\u3002\u5728\u5faa\u73af\u4e2d\u5220\u9664\u65f6\uff0c\u5e94\u8be5\u4f7f\u7528\u8fd9\u4e2a\u8fd4\u56de\u503c\u6765\u66f4\u65b0\u8fed\u4ee3\u5668\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e3a\u4ec0\u4e48\u662f\u4e24\u500d\u6269\u5bb9<\/strong>\uff1a\u8fd9\u662f\u4e00\u79cd\u5e38\u89c1\u7684<strong>\u644a\u9500\u7b56\u7565<\/strong>\uff0c\u65e8\u5728\u4fdd\u8bc1 <code>push_back<\/code> \u64cd\u4f5c\u7684\u5e73\u5747\u65f6\u95f4\u590d\u6742\u5ea6\u4e3a <strong>O(1)<\/strong>\u3002\u867d\u7136\u5355\u6b21\u6269\u5bb9\uff08\u4ece\u5bb9\u91cf n \u5230 2n\uff09\u662f O(n) \u64cd\u4f5c\uff0c\u4f46\u5c06\u8fd9\u6b21\u5f00\u9500\u5206\u644a\u5230\u63a5\u4e0b\u6765\u7684 n \u6b21\u63d2\u5165\u64cd\u4f5c\u4e0a\uff0c\u6bcf\u6b21\u63d2\u5165\u7684\u644a\u9500\u6210\u672c\u5c31\u662f O(1)\u30021.5 \u500d\u4e5f\u662f\u5e38\u89c1\u7b56\u7565\uff0c\u4e24\u8005\u5728\u65f6\u95f4\u548c\u7a7a\u95f4\u5f00\u9500\u4e0a\u6709\u6240\u6743\u8861\u3002<\/li>\n\n\n\n<li><strong>\u5982\u4f55\u91ca\u653e\u7a7a\u95f4<\/strong>\uff1a<code>vector<\/code> \u7684 <code>clear()<\/code> \u51fd\u6570\u53ea\u9500\u6bc1\u5143\u7d20\uff0c\u5c06 <code>size<\/code> \u8bbe\u4e3a 0\uff0c\u4f46<strong>\u4e0d\u91ca\u653e\u5bb9\u91cf<\/strong>\uff08<code>capacity<\/code> \u4e0d\u53d8\uff09\u3002\u8981\u771f\u6b63\u91ca\u653e\u5185\u5b58\uff0c\u53ef\u4ee5\u4f7f\u7528 <strong><code>swap<\/code> \u6280\u5de7<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dstd::vector&lt;int> vec(1000); \/\/ &#8230; \u4f7f\u7528 vec std::vector&lt;int>().swap(vec); \/\/ \u7528\u4e00\u4e2a\u7a7a\u7684\u4e34\u65f6vector\u548cvec\u4ea4\u6362\uff0c\u4e34\u65f6vector\u79bb\u5f00\u4f5c\u7528\u57df\u540e\u91ca\u653e\u5927\u5185\u5b58 \/\/ \u6216\u8005 C++11 \u540e\u4f7f\u7528 shrink_to_fit() \u6210\u5458\u51fd\u6570\uff08\u8bf7\u6c42\uff0c\u4e0d\u4fdd\u8bc1\uff09 vec.shrink_to_fit();<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">71. map\uff0cset\u662f\u600e\u4e48\u5b9e\u73b0\u7684\uff0c\u7ea2\u9ed1\u6811\u662f\u600e\u4e48\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u8fd9\u4e24\u79cd\u5bb9\u5668\uff0c\u4e3a\u4ec0\u4e48\u4f7f\u7528\u7ea2\u9ed1\u6811<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a<code>std::map<\/code> \u548c <code>std::set<\/code> \u901a\u5e38\u57fa\u4e8e<strong>\u7ea2\u9ed1\u6811<\/strong>\u5b9e\u73b0\u3002\u7ea2\u9ed1\u6811\u662f\u4e00\u79cd\u81ea\u5e73\u8861\u7684\u4e8c\u53c9\u641c\u7d22\u6811\u3002<\/li>\n\n\n\n<li><strong>\u5982\u4f55\u540c\u65f6\u5b9e\u73b0<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>set<\/code> \u53ef\u4ee5\u770b\u4f5c\u662f\u4e00\u4e2a\u952e\u548c\u503c\u76f8\u540c\u7684\u7279\u6b8a <code>map<\/code>\u3002\u5728\u5e95\u5c42\uff0c<code>set&lt;T><\/code> \u53ef\u4ee5\u5b9e\u73b0\u4e3a\u7ea2\u9ed1\u6811\u8282\u70b9\u53ea\u5b58\u50a8\u4e00\u4e2a <code>T<\/code> \u7c7b\u578b\u7684\u503c\u3002<\/li>\n\n\n\n<li><code>map&lt;K, V><\/code> \u5219\u5b9e\u73b0\u4e3a\u7ea2\u9ed1\u6811\u8282\u70b9\u5b58\u50a8\u4e00\u4e2a <code>std::pair&lt;const K, V><\/code>\u3002<\/li>\n\n\n\n<li>\u4e24\u8005\u7684\u6838\u5fc3\u64cd\u4f5c\uff08\u63d2\u5165\u3001\u5220\u9664\u3001\u67e5\u627e\uff09\u90fd\u4f9d\u8d56\u4e8e\u5bf9<strong>\u952e<\/strong>\u7684\u6bd4\u8f83\uff0c\u800c\u7ea2\u9ed1\u6811\u6b63\u662f\u4e00\u79cd\u57fa\u4e8e\u952e\u503c\u8fdb\u884c\u9ad8\u6548\u7ec4\u7ec7\u7684\u6570\u636e\u7ed3\u6784\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e3a\u4ec0\u4e48\u4f7f\u7528\u7ea2\u9ed1\u6811<\/strong>\uff1a\u76f8\u6bd4\u4e8e\u5176\u4ed6\u5e73\u8861\u6811\uff08\u5982 AVL \u6811\uff09\uff0c\u7ea2\u9ed1\u6811\u5728<strong>\u5e73\u8861\u6027<\/strong>\u548c<strong>\u8c03\u6574\u5f00\u9500<\/strong>\u4e4b\u95f4\u53d6\u5f97\u4e86\u8f83\u597d\u7684\u6298\u8877\u3002\n<ol class=\"wp-block-list\">\n<li><strong>\u9ad8\u6548<\/strong>\uff1a\u67e5\u627e\u3001\u63d2\u5165\u3001\u5220\u9664\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u90fd\u662f <strong>O(log n)<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u5e73\u8861\u6027\u8f83\u597d<\/strong>\uff1a\u80fd\u907f\u514d\u4e8c\u53c9\u641c\u7d22\u6811\u9000\u5316\u6210\u94fe\u8868\u7684\u6700\u574f\u60c5\u51b5\uff0c\u4f46\u4e0d\u50cf AVL \u6811\u90a3\u6837\u8ffd\u6c42\u7edd\u5bf9\u5e73\u8861\uff0c\u56e0\u6b64\u63d2\u5165\u548c\u5220\u9664\u64cd\u4f5c\u6240\u9700\u7684\u65cb\u8f6c\u6b21\u6570\u66f4\u5c11\uff0c\u6574\u4f53\u6027\u80fd\u66f4\u4f18\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">72. \u6a21\u677f\u548c\u5b9e\u73b0\u53ef\u4e0d\u53ef\u4ee5\u4e0d\u5199\u5728\u4e00\u4e2a\u6587\u4ef6\u91cc\u9762\uff0c\u4e3a\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u901a\u5e38\u5fc5\u987b\u5199\u5728\u4e00\u8d77\uff08\u901a\u5e38\u5728\u5934\u6587\u4ef6\u4e2d\uff09<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u56e0<\/strong>\uff1a\u6a21\u677f\u7684<strong>\u5b9e\u4f8b\u5316<\/strong>\u53d1\u751f\u5728\u7f16\u8bd1\u671f\u3002\u5f53\u7f16\u8bd1\u5668\u770b\u5230\u6a21\u677f\u88ab\u4f7f\u7528\uff08\u4f8b\u5982 <code>MyClass&lt;int> obj;<\/code>\uff09\u65f6\uff0c\u5b83\u9700\u8981\u80fd\u591f\u770b\u5230\u6a21\u677f\u7684<strong>\u5b8c\u6574\u5b9a\u4e49<\/strong>\uff08\u800c\u4e0d\u4ec5\u4ec5\u662f\u58f0\u660e\uff09\uff0c\u624d\u80fd\u6839\u636e\u5177\u4f53\u7684\u7c7b\u578b\u53c2\u6570 <code>int<\/code> \u751f\u6210\u5bf9\u5e94\u7684\u4ee3\u7801\u3002<\/li>\n\n\n\n<li><strong>\u5982\u679c\u5206\u79bb<\/strong>\uff1a\u5982\u679c\u5c06\u6a21\u677f\u7684\u58f0\u660e\u653e\u5728 <code>.h<\/code> \u6587\u4ef6\uff0c\u5b9a\u4e49\u653e\u5728 <code>.cpp<\/code> \u6587\u4ef6\u3002\u90a3\u4e48\uff0c\u5728\u7f16\u8bd1\u4f7f\u7528\u8be5\u6a21\u677f\u7684 <code>main.cpp<\/code> \u65f6\uff0c\u7f16\u8bd1\u5668\u53ea\u770b\u5230\u4e86\u58f0\u660e\uff0c\u65e0\u6cd5\u5b9e\u4f8b\u5316\u6a21\u677f\uff0c\u4f1a\u5bfc\u81f4\u94fe\u63a5\u9519\u8bef\uff08<code>undefined reference<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6cd5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\uff08\u63a8\u8350\uff09\u5c06\u6a21\u677f\u7684\u58f0\u660e\u548c\u5b9a\u4e49\u90fd\u653e\u5728\u5934\u6587\u4ef6\u4e2d<\/strong>\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528 <strong>\u663e\u5f0f\u5b9e\u4f8b\u5316<\/strong>\uff1a\u5728\u6a21\u677f\u5b9a\u4e49\u7684 <code>.cpp<\/code> \u6587\u4ef6\u4e2d\u663e\u5f0f\u5730\u5b9e\u4f8b\u5316\u4f60\u9700\u8981\u7684\u6240\u6709\u7c7b\u578b\uff08\u5982 <code>template class MyClass&lt;int>;<\/code>\uff09\u3002\u8fd9\u79cd\u65b9\u6cd5\u4e0d\u7075\u6d3b\uff0c\u9700\u8981\u9884\u77e5\u6240\u6709\u4f1a\u7528\u5230\u7684\u7c7b\u578b\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">73. \u8bf7\u7b80\u8ff0\u4f60\u4e86\u89e3\u4f7f\u7528\u8fc7\u7684C++11\u7684\u65b0\u7279\u6027<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++11 \u662f\u4e00\u4e2a\u91cd\u5927\u7684\u66f4\u65b0\uff0c\u5f15\u5165\u4e86\u5927\u91cf\u73b0\u4ee3\u8bed\u8a00\u7279\u6027\u3002\u540e\u7aef\u7a0b\u5e8f\u5458\u5e38\u7528\u7684\u7279\u6027\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u81ea\u52a8\u7c7b\u578b\u63a8\u5bfc<\/strong>\uff1a<code>auto<\/code> \u548c <code>decltype<\/code>\uff0c\u8ba9\u7f16\u8bd1\u5668\u63a8\u5bfc\u53d8\u91cf\u7c7b\u578b\uff0c\u7b80\u5316\u4ee3\u7801\u3002<\/li>\n\n\n\n<li><strong>\u667a\u80fd\u6307\u9488<\/strong>\uff1a<code>unique_ptr<\/code>, <code>shared_ptr<\/code>, <code>weak_ptr<\/code>\uff0c\u7528\u4e8e\u81ea\u52a8\u5185\u5b58\u7ba1\u7406\uff0c\u907f\u514d\u5185\u5b58\u6cc4\u6f0f\u3002<\/li>\n\n\n\n<li><strong>\u57fa\u4e8e\u8303\u56f4\u7684 for \u5faa\u73af<\/strong>\uff1a<code>for (auto&amp; x : container)<\/code>\uff0c\u7b80\u5316\u5bb9\u5668\u904d\u5386\u3002<\/li>\n\n\n\n<li><strong>\u53f3\u503c\u5f15\u7528\u548c\u79fb\u52a8\u8bed\u4e49<\/strong>\uff1a<code>&amp;&amp;<\/code> \u548c <code>std::move<\/code>\uff0c\u907f\u514d\u4e0d\u5fc5\u8981\u7684\u6df1\u62f7\u8d1d\uff0c\u63d0\u5347\u6027\u80fd\u3002<\/li>\n\n\n\n<li><strong>Lambda \u8868\u8fbe\u5f0f<\/strong>\uff1a<code>[capture](params) -> ret { body }<\/code>\uff0c\u65b9\u4fbf\u5730\u5b9a\u4e49\u533f\u540d\u51fd\u6570\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>nullptr<\/strong>\uff1a\u7c7b\u578b\u5b89\u5168\u7684\u7a7a\u6307\u9488\u5e38\u91cf\uff0c\u53d6\u4ee3 <code>NULL<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u5e76\u53d1\u652f\u6301<\/strong>\uff1a<code>std::thread<\/code>, <code>std::mutex<\/code>, <code>std::condition_variable<\/code>, <code>std::async<\/code> \u7b49\uff0c\u7528\u4e8e\u591a\u7ebf\u7a0b\u7f16\u7a0b\u3002<\/li>\n\n\n\n<li><strong>\u6807\u51c6\u5e93\u589e\u5f3a<\/strong>\uff1a\u65b0\u7684\u5bb9\u5668\uff08\u5982 <code>unordered_map<\/code>, <code>unordered_set<\/code>\uff09\uff0c\u65b0\u7684\u7b97\u6cd5\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u59d4\u6258\u6784\u9020\u548c\u7ee7\u627f\u6784\u9020<\/strong>\uff1a\u7b80\u5316\u6784\u9020\u51fd\u6570\u7f16\u5199\u3002<\/li>\n\n\n\n<li><strong><code>override<\/code> \u548c <code>final<\/code> \u5173\u952e\u5b57<\/strong>\uff1a\u4f7f\u4ee3\u7801\u66f4\u6e05\u6670\u3001\u66f4\u5b89\u5168\u3002<\/li>\n\n\n\n<li><strong>\u5f3a\u7c7b\u578b\u679a\u4e3e<\/strong>\uff1a<code>enum class<\/code>\uff0c\u907f\u514d\u4e86\u4f20\u7edf\u679a\u4e3e\u7684\u4e00\u4e9b\u95ee\u9898\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">74. \u8bf4\u4e00\u8bf4\u4f60\u4e86\u89e3\u7684\u5173\u4e8elambda\u51fd\u6570\u7684\u5168\u90e8\u77e5\u8bc6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> Lambda \u8868\u8fbe\u5f0f\u662f C++11 \u5f15\u5165\u7684\u4e00\u79cd\u5b9a\u4e49\u533f\u540d\u51fd\u6570\u5bf9\u8c61\u7684\u65b9\u5f0f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b8c\u6574\u8bed\u6cd5<\/strong>\uff1a<code>[capture-list] (params) mutable? exception? -> ret { body }<\/code><\/li>\n\n\n\n<li><strong>\u6838\u5fc3\u7ec4\u6210\u90e8\u5206<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6355\u83b7\u5217\u8868 <code>[capture]<\/code><\/strong>\uff1a\u6307\u5b9a\u5982\u4f55\u6355\u83b7\u5916\u90e8\u53d8\u91cf\u3002\n<ul class=\"wp-block-list\">\n<li><code>[]<\/code> \u4e0d\u6355\u83b7\u4efb\u4f55\u53d8\u91cf\u3002<\/li>\n\n\n\n<li><code>[=]<\/code> \u4ee5<strong>\u503c<\/strong>\u7684\u65b9\u5f0f\u6355\u83b7\u6240\u6709\u5916\u90e8\u53d8\u91cf\u3002<\/li>\n\n\n\n<li><code>[&amp;]<\/code> \u4ee5<strong>\u5f15\u7528<\/strong>\u7684\u65b9\u5f0f\u6355\u83b7\u6240\u6709\u5916\u90e8\u53d8\u91cf\u3002<\/li>\n\n\n\n<li><code>[var]<\/code> \u503c\u6355\u83b7 <code>var<\/code>\u3002<\/li>\n\n\n\n<li><code>[&amp;var]<\/code> \u5f15\u7528\u6355\u83b7 <code>var<\/code>\u3002<\/li>\n\n\n\n<li><code>[this]<\/code> \u6355\u83b7\u5f53\u524d\u7c7b\u7684 <code>this<\/code> \u6307\u9488\u3002<\/li>\n\n\n\n<li>\u53ef\u4ee5\u7ec4\u5408\uff0c\u5982 <code>[=, &amp;x]<\/code> \u503c\u6355\u83b7\u6240\u6709\uff0c\u4f46\u5f15\u7528\u6355\u83b7 <code>x<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u53c2\u6570\u5217\u8868 <code>(params)<\/code><\/strong>\uff1a\u548c\u666e\u901a\u51fd\u6570\u7684\u53c2\u6570\u5217\u8868\u4e00\u6837\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u53d8\u89c4\u8303 <code>mutable<\/code><\/strong>\uff1a\u5141\u8bb8\u4fee\u6539\u6309\u503c\u6355\u83b7\u7684\u53d8\u91cf\uff08\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0clambda \u7684 <code>operator()<\/code> \u662f <code>const<\/code> \u7684\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u89c4\u8303 <code>exception<\/code><\/strong>\uff1a\u58f0\u660e\u53ef\u80fd\u629b\u51fa\u7684\u5f02\u5e38\u3002<\/li>\n\n\n\n<li><strong>\u8fd4\u56de\u7c7b\u578b <code>-> ret<\/code><\/strong>\uff1a\u5c3e\u7f6e\u8fd4\u56de\u7c7b\u578b\u3002\u901a\u5e38\u53ef\u4ee5\u7701\u7565\uff0c\u7531\u7f16\u8bd1\u5668\u63a8\u5bfc\u3002<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u4f53 <code>{ body }<\/code><\/strong>\uff1a\u51fd\u6570\u5b9e\u73b0\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u672c\u8d28<\/strong>\uff1a\u7f16\u8bd1\u5668\u4f1a\u4e3a\u6bcf\u4e2a lambda \u8868\u8fbe\u5f0f\u751f\u6210\u4e00\u4e2a<strong>\u552f\u4e00\u7684\u3001\u533f\u540d\u7684\u51fd\u6570\u5bf9\u8c61\u7c7b<\/strong>\uff08\u4eff\u51fd\u6570\uff09\u3002\u6355\u83b7\u5217\u8868\u7684\u53d8\u91cf\u4f1a\u6210\u4e3a\u8fd9\u4e2a\u7c7b\u7684\u6210\u5458\u53d8\u91cf\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">75. C++\u4e2d\u7684\u667a\u80fd\u6307\u9488\uff0c\u4e09\u79cd\u6307\u9488\u89e3\u51b3\u7684\u95ee\u9898\u53ca\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u667a\u80fd\u6307\u9488\u7528\u4e8e\u81ea\u52a8\u5316\u5185\u5b58\u7ba1\u7406\uff0c\u89e3\u51b3<strong>\u5185\u5b58\u6cc4\u6f0f<\/strong>\u548c<strong>\u60ac\u7a7a\u6307\u9488<\/strong>\u95ee\u9898\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u667a\u80fd\u6307\u9488<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u89e3\u51b3\u7684\u95ee\u9898<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u6240\u6709\u6743\u8bed\u4e49<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u7279\u70b9<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>std::unique_ptr<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u66ff\u4ee3 <code>new\/delete<\/code>\uff0c\u7ba1\u7406\u72ec\u5360\u6240\u6709\u6743\u7684\u8d44\u6e90\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u72ec\u5360\u6240\u6709\u6743<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e00\u4e2a\u8d44\u6e90\u53ea\u80fd\u88ab\u4e00\u4e2a <code>unique_ptr<\/code> \u62e5\u6709\u3002\u4e0d\u652f\u6301\u62f7\u8d1d\uff0c\u53ea\u652f\u6301\u79fb\u52a8\u3002\u8f7b\u91cf\u9ad8\u6548\uff0c\u65e0\u989d\u5916\u5f00\u9500\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>std::shared_ptr<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7ba1\u7406\u9700\u8981<strong>\u5171\u4eab\u6240\u6709\u6743<\/strong>\u7684\u8d44\u6e90\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5171\u4eab\u6240\u6709\u6743<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f7f\u7528<strong>\u5f15\u7528\u8ba1\u6570<\/strong>\u3002\u591a\u4e2a <code>shared_ptr<\/code> \u53ef\u4ee5\u6307\u5411\u540c\u4e00\u4e2a\u5bf9\u8c61\uff0c\u5f53\u6700\u540e\u4e00\u4e2a <code>shared_ptr<\/code> \u88ab\u9500\u6bc1\u65f6\uff0c\u5bf9\u8c61\u624d\u88ab\u91ca\u653e\u3002\u6709\u8ba1\u6570\u5668\u7684\u5f00\u9500\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>std::weak_ptr<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u89e3\u51b3 <code>shared_ptr<\/code> \u7684<strong>\u5faa\u73af\u5f15\u7528<\/strong>\u95ee\u9898\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f31\u5f15\u7528<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u63a7\u5236\u5bf9\u8c61\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u589e\u52a0\u5f15\u7528\u8ba1\u6570\u3002\u5b83\u4ece\u4e00\u4e2a <code>shared_ptr<\/code> \u521b\u5efa\uff0c\u7528\u4e8e\u89c2\u5bdf\u8d44\u6e90\uff0c\u4f46\u4e0d\u4f1a\u963b\u6b62\u8d44\u6e90\u91ca\u653e\u3002\u9700\u8981\u8c03\u7528 <code>lock()<\/code> \u6765\u5c1d\u8bd5\u83b7\u53d6\u4e00\u4e2a\u6709\u6548\u7684 <code>shared_ptr<\/code>\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">76. \u5047\u8bbe\u6709\u4e00\u4e2a\u6307\u9488\uff0c\u5982\u4f55\u505a\u5230\u591a\u6b21\u4f7f\u7528\uff0c\u4e00\u6b21\u91ca\u653e<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u6b63\u662f <strong><code>std::shared_ptr<\/code><\/strong> \u7684\u8bbe\u8ba1\u76ee\u7684\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>shared_ptr<\/code> \u4f7f\u7528\u5f15\u7528\u8ba1\u6570<\/strong>\u3002\u6bcf\u6b21\u62f7\u8d1d\u4e00\u4e2a <code>shared_ptr<\/code>\uff08\u4f8b\u5982\uff0c\u4f20\u9012\u7ed9\u5b83\uff0c\u653e\u5165\u5bb9\u5668\uff09\uff0c\u5176\u5185\u90e8\u7684\u5f15\u7528\u8ba1\u6570\u5c31\u4f1a\u52a0\u4e00\u3002\u5f53\u6bcf\u4e2a <code>shared_ptr<\/code> \u88ab\u9500\u6bc1\uff08\u4f8b\u5982\uff0c\u79bb\u5f00\u4f5c\u7528\u57df\uff09\u65f6\uff0c\u5f15\u7528\u8ba1\u6570\u51cf\u4e00\u3002<\/li>\n\n\n\n<li>\u5f53\u5f15\u7528\u8ba1\u6570\u51cf\u5230 <strong>0<\/strong> \u65f6\uff0c\u5b83\u624d\u4f1a\u81ea\u52a8\u8c03\u7528 <code>delete<\/code>\uff08\u6216\u81ea\u5b9a\u4e49\u7684\u5220\u9664\u5668\uff09\u6765\u91ca\u653e\u6240\u7ba1\u7406\u7684\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li>\u56e0\u6b64\uff0c\u4f60\u53ef\u4ee5\u521b\u5efa\u591a\u4e2a <code>shared_ptr<\/code> \u6307\u5411\u540c\u4e00\u4e2a\u5bf9\u8c61\uff0c\u8fd9\u4e9b <code>shared_ptr<\/code> \u53ef\u4ee5&#8221;\u591a\u6b21\u4f7f\u7528&#8221;\uff0c\u800c\u5bf9\u8c61\u53ea\u4f1a\u5728\u6700\u540e\u4e00\u4e2a <code>shared_ptr<\/code> \u5931\u6548\u65f6\u88ab&#8221;\u4e00\u6b21\u91ca\u653e&#8221;\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">77. \u5206\u522b\u5199\u51fa\u5728if\u8bed\u53e5\u6761\u4ef6\u4e2d\uff0c\u5982\u4f55\u5224\u65adbool a\uff0cint a\uff0cfloat a\uff0cchar *a\u662f\u5426\u4e3a0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bool a;\nif (!a) {...} \/\/ \u6216 if (a == false)\n\nint a;\nif (a == 0) {...} \/\/ \u6216 if (!a) \uff08\u56e0\u4e3a0\u5728\u5e03\u5c14\u4e0a\u4e0b\u6587\u4e2d\u4e3afalse\uff0c\u4f46\u4e0d\u63a8\u8350\uff0c\u964d\u4f4e\u53ef\u8bfb\u6027\uff09\n\nfloat a;\n\/\/ \u7531\u4e8e\u6d6e\u70b9\u6570\u7cbe\u5ea6\u95ee\u9898\uff0c\u4e0d\u80fd\u76f4\u63a5\u4e0e0\u6bd4\u8f83\nif (std::abs(a) &lt; std::numeric_limits&lt;float&gt;::epsilon()) {...} \/\/ \u5224\u65ad\u662f\u5426\u63a5\u8fd10\n\/\/ \u6216\u8005\uff0c\u5982\u679c\u660e\u786e\u77e5\u9053a\u5e94\u8be5\u662f\u6574\u6570\uff0c\u53ef\u4ee5\u8f6c\u578b\u540e\u6bd4\u8f83\uff1aif (static_cast&lt;int&gt;(a) == 0)\n\nchar *a;\nif (a == nullptr) {...} \/\/ C++11\u540e\uff0c\u5224\u65ad\u662f\u5426\u4e3a\u7a7a\u6307\u9488\n\/\/ \u6216 if (a == NULL) \u6216 if (a == 0) \uff08\u65e7\u5f0f\u5199\u6cd5\uff09\n\/\/ \u5982\u679c\u8981\u5224\u65ad\u6307\u5411\u7684\u5b57\u7b26\u4e32\u662f\u5426\u4e3a\u7a7a\u5b57\u7b26\u4e32\uff0c\u5219\u662f\uff1aif (a == nullptr || *a == '\\0')<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">78. \u8bf7\u89e3\u91ca32\u4f4d\/64\u4f4d\u7cfb\u7edf\u5177\u4f53\u6307\u7684\u662f\u4ec0\u4e48\u957f\u5ea6\uff0c\u5bf9\u7cfb\u7edf\u6709\u4f55\u5f71\u54cd<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5177\u4f53\u957f\u5ea6<\/strong>\uff1a\u901a\u5e38\u6307\u7684\u662f CPU <strong>\u901a\u7528\u5bc4\u5b58\u5668<\/strong>\u7684\u5bbd\u5ea6\uff0c\u4ee5\u53ca\u7531\u6b64\u51b3\u5b9a\u7684<strong>\u5bfb\u5740\u80fd\u529b<\/strong>\u548c<strong>\u6570\u636e\u5904\u7406\u80fd\u529b<\/strong>\u3002\n<ul class=\"wp-block-list\">\n<li><strong>32\u4f4d\u7cfb\u7edf<\/strong>\uff1a\u5bc4\u5b58\u5668\u3001\u6570\u636e\u603b\u7ebf\u3001\u5730\u5740\u603b\u7ebf\u901a\u5e38\u662f 32 \u4f4d\u5bbd\u3002<strong>\u5bfb\u5740\u7a7a\u95f4<\/strong>\u4e3a 2^32 = 4GB\u3002<\/li>\n\n\n\n<li><strong>64\u4f4d\u7cfb\u7edf<\/strong>\uff1a\u901a\u5e38\u662f 64 \u4f4d\u5bbd\u3002<strong>\u5bfb\u5740\u7a7a\u95f4<\/strong>\u4e3a 2^64\uff0c\u8fd9\u662f\u4e00\u4e2a\u6781\u5176\u5de8\u5927\u7684\u6570\u5b57\uff0816 EB\uff09\uff0c\u5b9e\u9645\u4e0a\u76ee\u524d\u53ea\u7528\u4e86\u5176\u4e2d\u4e00\u90e8\u5206\uff08\u5982 48 \u4f4d\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f71\u54cd<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5185\u5b58\u652f\u6301<\/strong>\uff1a32 \u4f4d\u7cfb\u7edf\u6700\u5927\u53ea\u80fd\u652f\u6301\u7ea6 4GB \u7269\u7406\u5185\u5b58\uff08\u5b9e\u9645\u53ef\u7528\u66f4\u5c11\uff09\u300264 \u4f4d\u7cfb\u7edf\u53ef\u4ee5\u652f\u6301\u5de8\u5927\u7684\u7269\u7406\u5185\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd<\/strong>\uff1a64 \u4f4d CPU \u4e00\u6b21\u53ef\u5904\u7406 64 \u4f4d\u6570\u636e\uff0c\u5bf9\u4e8e\u5927\u91cf\u6570\u636e\u5904\u7406\u6709\u4f18\u52bf\u3002\u5bc4\u5b58\u5668\u6570\u91cf\u548c\u5927\u5c0f\u4e5f\u53ef\u80fd\u589e\u52a0\u3002<\/li>\n\n\n\n<li><strong>\u6307\u9488\u5927\u5c0f<\/strong>\uff1a\u5728 64 \u4f4d\u7cfb\u7edf\u4e0a\uff0c\u6307\u9488\u7c7b\u578b\u5360 <strong>8 \u5b57\u8282<\/strong>\uff0864\u4f4d\uff09\uff0c\u800c\u5728 32 \u4f4d\u7cfb\u7edf\u4e0a\u5360 <strong>4 \u5b57\u8282<\/strong>\uff0832\u4f4d\uff09\u3002\u8fd9\u5f71\u54cd\u4e86\u6570\u636e\u7ed3\u6784\u7684\u5185\u5b58\u5360\u7528\u3002<\/li>\n\n\n\n<li><strong>\u8f6f\u4ef6\u517c\u5bb9\u6027<\/strong>\uff1a64 \u4f4d\u7cfb\u7edf\u53ef\u4ee5\u8fd0\u884c 32 \u4f4d\u8f6f\u4ef6\uff08\u901a\u8fc7\u517c\u5bb9\u5c42\uff09\uff0c\u4f46 32 \u4f4d\u7cfb\u7edf\u4e0d\u80fd\u8fd0\u884c 64 \u4f4d\u8f6f\u4ef6\u3002\u9700\u8981\u9488\u5bf9\u4e0d\u540c\u5e73\u53f0\u7f16\u8bd1\u7a0b\u5e8f\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">79. \u7b80\u8ff0\u7cfb\u7edf\u7269\u7406\u5185\u5b58\u548c\u865a\u62df\u5185\u5b58\u4e4b\u95f4\u7684\u8054\u7cfb\u4e0e\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7269\u7406\u5185\u5b58<\/strong>\uff1a\u8ba1\u7b97\u673a\u786c\u4ef6\u5b89\u88c5\u7684\u5b9e\u9645\u5185\u5b58\u6761\uff08RAM\uff09\u3002\u5bb9\u91cf\u6709\u9650\uff0c\u76f4\u63a5\u7531 CPU \u8bbf\u95ee\uff0c\u901f\u5ea6\u5feb\u3002<\/li>\n\n\n\n<li><strong>\u865a\u62df\u5185\u5b58<\/strong>\uff1a\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u6bcf\u4e2a\u8fdb\u7a0b\u63d0\u4f9b\u7684<strong>\u62bd\u8c61<\/strong>\u7684\u3001<strong>\u8fde\u7eed<\/strong>\u7684\u5730\u5740\u7a7a\u95f4\u3002\u5b83\u7684\u5927\u5c0f\u7531 CPU \u7684\u5bfb\u5740\u80fd\u529b\u51b3\u5b9a\uff08\u5982 32 \u4f4d\u7cfb\u7edf\u662f 4GB\uff09\uff0c\u4e0e\u7269\u7406\u5185\u5b58\u5927\u5c0f\u65e0\u5173\u3002<\/li>\n\n\n\n<li><strong>\u8054\u7cfb\u4e0e\u5de5\u4f5c\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u865a\u62df\u5185\u5b58\u901a\u8fc7<strong>\u5206\u9875<\/strong>\u673a\u5236\u4e0e\u7269\u7406\u5185\u5b58\u5173\u8054\u3002\u64cd\u4f5c\u7cfb\u7edf\u548c CPU \u7684 MMU\uff08\u5185\u5b58\u7ba1\u7406\u5355\u5143\uff09\u8d1f\u8d23\u5c06\u865a\u62df\u5730\u5740<strong>\u6620\u5c04<\/strong>\u5230\u7269\u7406\u5730\u5740\u3002<\/li>\n\n\n\n<li>\u8fdb\u7a0b\u8bbf\u95ee\u4e00\u4e2a\u865a\u62df\u5730\u5740\u65f6\uff0c\u5982\u679c\u8be5\u5730\u5740\u6240\u5728\u7684\u9875\u5df2\u7ecf\u5728\u7269\u7406\u5185\u5b58\u4e2d\uff08<strong>\u9875\u547d\u4e2d<\/strong>\uff09\uff0c\u5219\u76f4\u63a5\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u4e0d\u5728\uff08<strong>\u7f3a\u9875\u9519\u8bef<\/strong>\uff09\uff0c\u64cd\u4f5c\u7cfb\u7edf\u4f1a\u4ece<strong>\u78c1\u76d8\u4e0a\u7684\u4ea4\u6362\u6587\u4ef6\uff08swap file\uff09<\/strong> \u4e2d\u5c06\u8be5\u9875<strong>\u6362\u5165<\/strong>\u7269\u7406\u5185\u5b58\uff0c\u7136\u540e\u66f4\u65b0\u6620\u5c04\u5173\u7cfb\uff0c\u518d\u8ba9\u8fdb\u7a0b\u8bbf\u95ee\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u533a\u522b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u62bd\u8c61\u5c42\u7ea7<\/strong>\uff1a\u7269\u7406\u5185\u5b58\u662f\u786c\u4ef6\uff0c\u865a\u62df\u5185\u5b58\u662f\u64cd\u4f5c\u7cfb\u7edf\u63d0\u4f9b\u7684\u62bd\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u5927\u5c0f<\/strong>\uff1a\u7269\u7406\u5185\u5b58\u56fa\u5b9a\uff1b\u865a\u62df\u5185\u5b58\u5927\u5c0f\u7531 CPU \u67b6\u6784\u51b3\u5b9a\uff0c\u4e14\u53ef\u4ee5\u501f\u52a9\u78c1\u76d8\u7a7a\u95f4\u6765\u6269\u5c55\u3002<\/li>\n\n\n\n<li><strong>\u76ee\u7684<\/strong>\uff1a\u865a\u62df\u5185\u5b58\u4e3a\u6bcf\u4e2a\u8fdb\u7a0b\u63d0\u4f9b\u4e86\u72ec\u7acb\u7684\u3001\u53d7\u4fdd\u62a4\u7684\u5730\u5740\u7a7a\u95f4\uff0c\u4f7f\u5f97\u8fdb\u7a0b\u95f4\u4e0d\u4f1a\u4e92\u76f8\u5e72\u6270\uff0c\u5e76\u5141\u8bb8\u8fd0\u884c\u6bd4\u7269\u7406\u5185\u5b58\u66f4\u5927\u7684\u7a0b\u5e8f\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">80. \u7b80\u8ff0\u4f60\u719f\u6089\u7684\u7f16\u8bd1\u5668\u7684\u4e0d\u540c\u4f18\u5316\u7ea7\u522b\uff0c\u4ee5\u53ca\u7f16\u8bd1\u5668\u4f18\u5316\u4e00\u4e9b\u57fa\u672c\u7684\u601d\u60f3<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u4ee5 GCC \u4e3a\u4f8b\uff0c\u5e38\u7528\u7684\u4f18\u5316\u7ea7\u522b\u6709\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>-O0<\/code><\/strong>\uff1a\u9ed8\u8ba4\u7ea7\u522b\uff0c<strong>\u4e0d\u4f18\u5316<\/strong>\u3002\u7f16\u8bd1\u901f\u5ea6\u5feb\uff0c\u4fbf\u4e8e\u8c03\u8bd5\u3002<\/li>\n\n\n\n<li><strong><code>-O1<\/code><\/strong>\u6216<strong><code>-O<\/code><\/strong>\uff1a\u8fdb\u884c\u57fa\u672c\u7684\u4f18\u5316\uff0c\u8bd5\u56fe\u51cf\u5c11\u4ee3\u7801\u5927\u5c0f\u548c\u6267\u884c\u65f6\u95f4\uff0c\u4f46\u4e0d\u8fdb\u884c\u9700\u8981\u5927\u91cf\u7f16\u8bd1\u65f6\u95f4\u7684\u4f18\u5316\u3002<\/li>\n\n\n\n<li><strong><code>-O2<\/code><\/strong>\uff1a<strong>\u66f4\u9ad8\u7ea7\u7684\u4f18\u5316<\/strong>\u3002\u5305\u62ec\u51e0\u4e4e\u6240\u6709\u4e0d\u6d89\u53ca\u7a7a\u95f4\u901f\u5ea6\u6743\u8861\u7684\u4f18\u5316\u3002\u901a\u5e38\u4f1a\u727a\u7272\u7f16\u8bd1\u901f\u5ea6\u6765\u63d0\u5347\u751f\u6210\u4ee3\u7801\u7684\u6027\u80fd\u3002\u8fd9\u662f<strong>\u53d1\u5e03\u7248\u672c\u7684\u5e38\u7528\u7ea7\u522b<\/strong>\u3002<\/li>\n\n\n\n<li><strong><code>-O3<\/code><\/strong>\uff1a<strong>\u6fc0\u8fdb\u7684\u4f18\u5316<\/strong>\u3002\u5728 <code>-O2<\/code> \u7684\u57fa\u7840\u4e0a\uff0c\u8fdb\u884c\u66f4\u591a\u4f18\u5316\uff0c\u5982\u51fd\u6570\u5185\u8054\u3001\u5faa\u73af\u5c55\u5f00\u7b49\u3002\u53ef\u80fd\u4f1a\u589e\u52a0\u4ee3\u7801\u5927\u5c0f\uff0c\u6709\u65f6\u6027\u80fd\u63d0\u5347\u4e0d\u660e\u663e\u751a\u81f3\u4e0b\u964d\u3002<\/li>\n\n\n\n<li><strong><code>-Os<\/code><\/strong>\uff1a\u4f18\u5316\u4ee3\u7801<strong>\u5927\u5c0f<\/strong>\u3002\u6267\u884c\u6240\u6709 <code>-O2<\/code> \u4e2d\u4e0d\u4f1a\u663e\u8457\u589e\u52a0\u4ee3\u7801\u5927\u5c0f\u7684\u4f18\u5316\u3002<\/li>\n\n\n\n<li><strong><code>-Og<\/code><\/strong>\uff1a\u4e3a<strong>\u8c03\u8bd5\u4f53\u9a8c<\/strong>\u800c\u4f18\u5316\u3002\u5728\u4fdd\u6301\u4ee3\u7801\u53ef\u8c03\u8bd5\u6027\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u4e00\u4e9b\u4f18\u5316\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u57fa\u672c\u4f18\u5316\u601d\u60f3<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5185\u8054<\/strong>\uff1a\u5c06\u5c0f\u51fd\u6570\u8c03\u7528\u5904\u76f4\u63a5\u66ff\u6362\u4e3a\u51fd\u6570\u4f53\uff0c\u907f\u514d\u8c03\u7528\u5f00\u9500\u3002<\/li>\n\n\n\n<li><strong>\u5faa\u73af\u4f18\u5316<\/strong>\uff1a<strong>\u5faa\u73af\u5c55\u5f00<\/strong>\uff08\u51cf\u5c11\u5faa\u73af\u5224\u65ad\u6b21\u6570\uff09\u3001<strong>\u5faa\u73af\u4e0d\u53d8\u4ee3\u7801\u5916\u63d0<\/strong>\uff08\u5c06\u5faa\u73af\u5185\u4e0d\u53d8\u7684\u8ba1\u7b97\u79fb\u5230\u5faa\u73af\u5916\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5e38\u91cf\u4f20\u64ad\/\u6298\u53e0<\/strong>\uff1a\u5728\u7f16\u8bd1\u671f\u8ba1\u7b97\u5e38\u91cf\u8868\u8fbe\u5f0f\u7684\u503c\u3002<\/li>\n\n\n\n<li><strong>\u6b7b\u4ee3\u7801\u6d88\u9664<\/strong>\uff1a\u5220\u9664\u6c38\u8fdc\u4e0d\u4f1a\u88ab\u6267\u884c\u7684\u4ee3\u7801\u3002<\/li>\n\n\n\n<li><strong>\u5bc4\u5b58\u5668\u5206\u914d<\/strong>\uff1a\u5c06\u9891\u7e41\u4f7f\u7528\u7684\u53d8\u91cf\u4fdd\u5b58\u5728\u5bc4\u5b58\u5668\u4e2d\uff0c\u51cf\u5c11\u5185\u5b58\u8bbf\u95ee\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">81. \u51fd\u6570 bool less(float x,float y)\u662f\u5426\u80fd\u6b63\u786e\u8ba1\u7b97float\u7684\u5927\u5c0f\u5173\u7cfb<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u4e0d\u80fd\u5b8c\u5168\u6b63\u786e<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u6d6e\u70b9\u6570\u5b58\u5728\u7cbe\u5ea6\u9650\u5236\u548c\u7279\u6b8a\u7684\u8868\u793a\uff08\u5982 NaN\uff09\u3002\n<ul class=\"wp-block-list\">\n<li><strong>NaN<\/strong>\uff1a\u5982\u679c <code>x<\/code> \u6216 <code>y<\/code> \u662f NaN\uff0c\u90a3\u4e48\u4efb\u4f55\u6bd4\u8f83\u64cd\u4f5c\uff08\u5305\u62ec <code>&lt;<\/code>\uff09\u90fd\u4f1a\u8fd4\u56de <code>false<\/code>\u3002<code>less(NaN, 5.0)<\/code> \u548c <code>less(5.0, NaN)<\/code> \u90fd\u8fd4\u56de <code>false<\/code>\uff0c\u8fd9\u4e0d\u7b26\u5408&#8221;\u5168\u5e8f\u5173\u7cfb&#8221;\u7684\u9884\u671f\u3002<\/li>\n\n\n\n<li><strong>-0.0 \u548c +0.0<\/strong>\uff1a\u5728\u6bd4\u8f83\u4e2d\uff0c<code>-0.0 == +0.0<\/code> \u4e3a\u771f\u3002\u4f46\u5bf9\u4e8e <code>less<\/code>\uff0c<code>less(-0.0, +0.0)<\/code> \u4e3a\u5047\uff0c<code>less(+0.0, -0.0)<\/code> \u4e5f\u4e3a\u5047\uff0c\u8fd9\u6ca1\u95ee\u9898\uff0c\u4f46\u9700\u8981\u6ce8\u610f\u5b83\u4eec\u88ab\u8ba4\u4e3a\u662f\u76f8\u7b49\u7684\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6539\u8fdb<\/strong>\uff1a\u5982\u679c\u9700\u8981\u5904\u7406 NaN \u5e76\u9075\u5faa IEEE 754 \u7684\u6807\u51c6\u5168\u5e8f\u6bd4\u8f83\uff0c\u53ef\u4ee5\u4f7f\u7528 <code>std::isless<\/code> \u51fd\u6570\uff0c\u5b83\u5728\u9047\u5230 NaN \u65f6\u4e0d\u4f1a\u5f15\u53d1\u65e0\u6548\u64cd\u4f5c\u5f02\u5e38\uff0c\u5e76\u4e14\u5b9a\u4e49\u4e86 NaN \u7684\u6bd4\u8f83\u884c\u4e3a\uff08NaN \u88ab\u89c6\u4e3a\u65e0\u5e8f\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">82. \u6709\u4e2achar*p\u7684\u5b57\u7b26\u4e32\uff0c\u8fd9\u4e2a\u5b57\u7b26\u4e32\u5f3a\u8f6c\u6210int\u578b\u6307\u9488\uff0c\u518d\u8fdb\u884c\u81ea\u589e\u8fd0\u7b97<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">char* p = \"hello\";\nint* ip = (int*)p; \/\/ \u5f3a\u5236\u7c7b\u578b\u8f6c\u6362\nip++; \/\/ \u6307\u9488\u81ea\u589e<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>ip++<\/code> \u7684\u7ed3\u679c<\/strong>\uff1a<code>ip<\/code> \u7684\u503c\u4f1a\u589e\u52a0 <code>sizeof(int)<\/code> \u4e2a\u5b57\u8282\uff0c\u800c\u4e0d\u662f <code>sizeof(char)<\/code> \u4e2a\u5b57\u8282\u3002\n<ul class=\"wp-block-list\">\n<li>\u5728 32 \u4f4d\u7cfb\u7edf\u4e0a\uff0c<code>sizeof(int)<\/code> \u901a\u5e38\u662f 4\uff0c\u6240\u4ee5 <code>ip<\/code> \u4f1a\u589e\u52a0 4\u3002<\/li>\n\n\n\n<li>\u5728 64 \u4f4d\u7cfb\u7edf\u4e0a\uff0c<code>sizeof(int)<\/code> \u901a\u5e38\u4e5f\u662f 4\uff08\u4f46 <code>int*<\/code> \u7684\u5927\u5c0f\u662f 8 \u5b57\u8282\uff09\uff0c\u6240\u4ee5 <code>ip<\/code> \u4e5f\u4f1a\u589e\u52a0 4\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u98ce\u9669\u548c\u8b66\u544a<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5bf9\u9f50\u95ee\u9898<\/strong>\uff1a<code>int<\/code> \u7c7b\u578b\u901a\u5e38\u6709\u5bf9\u9f50\u8981\u6c42\uff08\u5982 4 \u5b57\u8282\u5bf9\u9f50\uff09\u3002\u800c <code>char*<\/code> \u53ef\u80fd\u6307\u5411\u4efb\u610f\u5730\u5740\uff0c\u5f3a\u5236\u8f6c\u6362\u540e\u7684 <code>int*<\/code> \u53ef\u80fd\u6307\u5411\u4e00\u4e2a\u672a\u5bf9\u9f50\u7684\u5730\u5740\uff0c\u5728\u67d0\u4e9b\u67b6\u6784\u4e0a\u8bbf\u95ee <code>*ip<\/code> \u4f1a\u5bfc\u81f4\u603b\u7ebf\u9519\u8bef\u6216\u6027\u80fd\u4e0b\u964d\u3002<\/li>\n\n\n\n<li><strong>\u8bbf\u95ee\u8d8a\u754c<\/strong>\uff1a<code>p<\/code> \u6307\u5411\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u957f\u5ea6\u4e3a 6 \u5b57\u8282\uff08\u5305\u542b <code>\\0<\/code>\uff09\u3002<code>ip++<\/code> \u540e\uff0c<code>ip<\/code> \u6307\u5411\u4e86 <code>p+4<\/code> \u7684\u4f4d\u7f6e\u3002\u5982\u679c\u89e3\u5f15\u7528 <code>*ip<\/code>\uff0c\u5c06\u4f1a\u8bbf\u95ee\u4ece <code>p+4<\/code> \u5f00\u59cb\u7684 4 \u4e2a\u5b57\u8282\uff0c\u8fd9\u5df2\u7ecf\u8d85\u51fa\u4e86\u539f\u59cb\u5b57\u7b26\u4e32 &#8220;hello&#8221; \u7684\u8303\u56f4\uff08\u53ea\u5230 <code>p+5<\/code>\uff09\uff0c\u5c5e\u4e8e<strong>\u672a\u5b9a\u4e49\u884c\u4e3a<\/strong>\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">83. \u8c08\u4e00\u4e0b\u6a21\u677ftemplate<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6a21\u677f\u662f C++ \u652f\u6301<strong>\u6cdb\u578b\u7f16\u7a0b<\/strong>\u7684\u6838\u5fc3\u673a\u5236\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6982\u5ff5<\/strong>\uff1a\u6a21\u677f\u662f\u4e00\u4e2a\u84dd\u56fe\uff0c\u5b83\u5141\u8bb8\u6211\u4eec\u7f16\u5199\u4e0e\u7c7b\u578b\u65e0\u5173\u7684\u4ee3\u7801\u3002\u7f16\u8bd1\u5668\u4f1a\u6839\u636e\u4f7f\u7528\u65f6\u63d0\u4f9b\u7684\u5177\u4f53\u7c7b\u578b\uff0c\u5b9e\u4f8b\u5316\u51fa\u7279\u5b9a\u7248\u672c\u7684\u4ee3\u7801\u3002<\/li>\n\n\n\n<li><strong>\u5206\u7c7b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u51fd\u6570\u6a21\u677f<\/strong>\uff1a\u751f\u6210\u901a\u7528\u51fd\u6570\u7684\u84dd\u56fe\u3002cpp\u590d\u5236\u4e0b\u8f7dtemplate&lt;typename T> T max(T a, T b) { return (a > b) ? a : b; }<\/li>\n\n\n\n<li><strong>\u7c7b\u6a21\u677f<\/strong>\uff1a\u751f\u6210\u901a\u7528\u7c7b\u7684\u84dd\u56fe\u3002cpp\u590d\u5236\u4e0b\u8f7dtemplate&lt;typename T> class Stack { &#8230; };<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7279\u6027<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u53c2\u6570\u5316\u7c7b\u578b<\/strong>\uff1a\u4f7f\u7528 <code>typename<\/code> \u6216 <code>class<\/code> \u5173\u952e\u5b57\u5b9a\u4e49\u7c7b\u578b\u53c2\u6570\u3002<\/li>\n\n\n\n<li><strong>\u975e\u7c7b\u578b\u53c2\u6570<\/strong>\uff1a\u6a21\u677f\u53c2\u6570\u4e5f\u53ef\u4ee5\u662f\u6574\u578b\u3001\u6307\u9488\u6216\u5f15\u7528\u7b49\u503c\u3002cpp\u590d\u5236\u4e0b\u8f7dtemplate&lt;int N> class Array { &#8230; };<\/li>\n\n\n\n<li><strong>\u7279\u5316<\/strong>\uff1a\u53ef\u4ee5\u4e3a\u7279\u5b9a\u7684\u7c7b\u578b\u63d0\u4f9b\u7279\u6b8a\u7684\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li><strong>\u7f16\u8bd1\u671f\u8ba1\u7b97<\/strong>\uff1a\u6a21\u677f\u5143\u7f16\u7a0b\u53ef\u4ee5\u5728\u7f16\u8bd1\u671f\u6267\u884c\u590d\u6742\u7684\u8ba1\u7b97\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">84. \u5b9a\u4e49\u51fd\u6570\u65f6\uff0c\u7f3a\u7701\u51fd\u6570\u7684\u8fd4\u56de\u503c\u7c7b\u578b\uff0c\u5219\u51fd\u6570\u7684\u8fd4\u56de\u503c\u7c7b\u578b\u4e3a\u4ec0\u4e48\u7c7b\u578b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728 C \u8bed\u8a00\u4e2d\uff0c\u5982\u679c\u51fd\u6570\u6ca1\u6709\u663e\u5f0f\u58f0\u660e\u8fd4\u56de\u503c\u7c7b\u578b\uff0c<strong>\u9ed8\u8ba4\u8fd4\u56de <code>int<\/code> \u7c7b\u578b<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f8b\u5b50<\/strong>\uff1ac\u590d\u5236\u4e0b\u8f7dfunc() { \/\/ \u9ed8\u8ba4\u8fd4\u56de int return 10; }<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f46\u662f\uff0c\u8fd9\u79cd\u5199\u6cd5\u5728\u73b0\u4ee3 C \u548c C++ \u4e2d\u5df2\u7ecf\u88ab\u6dd8\u6c70\uff0c\u88ab\u8ba4\u4e3a\u662f\u8fc7\u65f6\u4e14\u4e0d\u5b89\u5168\u7684\u3002<\/strong> \u5728 C99 \u548c C++ \u6807\u51c6\u4e2d\uff0c\u90fd\u8981\u6c42\u51fd\u6570\u5fc5\u987b\u663e\u5f0f\u6307\u5b9a\u8fd4\u56de\u503c\u7c7b\u578b\u3002\u7f16\u8bd1\u5668\u901a\u5e38\u4f1a\u5bf9\u6b64\u53d1\u51fa\u8b66\u544a\u3002\u5728 C++ \u4e2d\uff0c\u7edd\u5bf9\u4e0d\u5141\u8bb8\u8fd9\u79cd\u5199\u6cd5\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">85. \u8981\u5b9e\u73b0\u52a8\u6001\u8054\u7f16\uff0c\u5fc5\u987b\u4f7f\u7528\u4ec0\u4e48\u6765\u8c03\u7528\u865a\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8981\u5b9e\u73b0\u52a8\u6001\u8054\u7f16\uff08\u8fd0\u884c\u65f6\u591a\u6001\uff09\uff0c\u5fc5\u987b\u540c\u65f6\u6ee1\u8db3\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u901a\u8fc7<strong>\u57fa\u7c7b\u7684\u6307\u9488<\/strong>\u6765\u8c03\u7528\u865a\u51fd\u6570\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7<strong>\u57fa\u7c7b\u7684\u5f15\u7528<\/strong>\u6765\u8c03\u7528\u865a\u51fd\u6570\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u76f4\u63a5\u901a\u8fc7<strong>\u5bf9\u8c61\u672c\u8eab<\/strong>\u6765\u8c03\u7528\u865a\u51fd\u6570\uff0c\u5219\u5c5e\u4e8e\u9759\u6001\u8054\u7f16\uff08\u7f16\u8bd1\u65f6\u7ed1\u5b9a\uff09\uff0c\u4e0d\u4f1a\u6709\u591a\u6001\u6548\u679c\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">86. \u4ec0\u4e48\u662f\u591a\u6001\uff0c\u591a\u6001\u5206\u4e3a\u51e0\u79cd\uff0c\u591a\u6001\u7684\u5e94\u7528\u573a\u666f\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4ec0\u4e48\u662f\u591a\u6001<\/strong>\uff1a\u540c\u4e00\u64cd\u4f5c\u4f5c\u7528\u4e8e\u4e0d\u540c\u7684\u5bf9\u8c61\uff0c\u53ef\u4ee5\u6709\u4e0d\u540c\u7684\u89e3\u91ca\uff0c\u4ea7\u751f\u4e0d\u540c\u7684\u6267\u884c\u7ed3\u679c\u3002\u5373&#8221;\u4e00\u4e2a\u63a5\u53e3\uff0c\u591a\u79cd\u5b9e\u73b0&#8221;\u3002<\/li>\n\n\n\n<li><strong>\u79cd\u7c7b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7f16\u8bd1\u65f6\u591a\u6001\uff08\u9759\u6001\u591a\u6001\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u51fd\u6570\u91cd\u8f7d\u3001\u8fd0\u7b97\u7b26\u91cd\u8f7d\u3001\u6a21\u677f\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u5728\u7f16\u8bd1\u671f\u786e\u5b9a\u5177\u4f53\u8c03\u7528\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fd0\u884c\u65f6\u591a\u6001\uff08\u52a8\u6001\u591a\u6001\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u865a\u51fd\u6570\u673a\u5236\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u5728\u8fd0\u884c\u671f\u6839\u636e\u5bf9\u8c61\u5b9e\u9645\u7c7b\u578b\u786e\u5b9a\u5177\u4f53\u8c03\u7528\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8bbe\u8ba1\u6a21\u5f0f<\/strong>\uff1a\u51e0\u4e4e\u6240\u6709\u6a21\u5f0f\u90fd\u7528\u5230\u591a\u6001\uff0c\u5982\u5de5\u5382\u6a21\u5f0f\u3001\u7b56\u7565\u6a21\u5f0f\u3001\u89c2\u5bdf\u8005\u6a21\u5f0f\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u5e93\u548c\u6846\u67b6\u8bbe\u8ba1<\/strong>\uff1a\u5b9a\u4e49\u901a\u7528\u63a5\u53e3\uff0c\u5141\u8bb8\u7528\u6237\u63d0\u4f9b\u81ea\u5b9a\u4e49\u5b9e\u73b0\u3002\u4f8b\u5982\uff0cSTL \u4e2d\u7684\u6bd4\u8f83\u5668\u3001\u5206\u914d\u5668\u3002<\/li>\n\n\n\n<li><strong>\u56fe\u5f62\u7528\u6237\u754c\u9762<\/strong>\uff1a\u5904\u7406\u4e0d\u540c UI \u63a7\u4ef6\uff08\u5982 Button, TextBox\uff09\u7684\u540c\u4e00\u4e8b\u4ef6\uff08\u5982 <code>draw()<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6e38\u620f\u5f00\u53d1<\/strong>\uff1a\u5904\u7406\u4e0d\u540c\u6e38\u620f\u5bf9\u8c61\uff08\u5982 Enemy, Player\uff09\u7684\u540c\u4e00\u884c\u4e3a\uff08\u5982 <code>update()<\/code>\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">87. \u7a7a\u7c7b\u91cc\u6709\u4ec0\u4e48\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728 C++ \u4e2d\uff0c\u5982\u679c\u4f60\u5b9a\u4e49\u4e00\u4e2a\u7a7a\u7c7b <code>class Empty {};<\/code>\uff0c\u7f16\u8bd1\u5668\u4f1a\u81ea\u52a8\u4e3a\u5b83\u751f\u6210\u4ee5\u4e0b\u6210\u5458\u51fd\u6570\uff08\u5982\u679c\u7a0b\u5e8f\u4e2d\u6ca1\u6709\u663e\u5f0f\u5b9a\u4e49\u5b83\u4eec\u7684\u8bdd\uff09\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9ed8\u8ba4\u6784\u9020\u51fd\u6570<\/strong>\uff1a<code>Empty()<\/code><\/li>\n\n\n\n<li><strong>\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/strong>\uff1a<code>Empty(const Empty&amp;)<\/code><\/li>\n\n\n\n<li><strong>\u62f7\u8d1d\u8d4b\u503c\u8fd0\u7b97\u7b26<\/strong>\uff1a<code>Empty&amp; operator=(const Empty&amp;)<\/code><\/li>\n\n\n\n<li><strong>\u6790\u6784\u51fd\u6570<\/strong>\uff1a<code>~Empty()<\/code><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6ce8\u610f<\/strong>\uff1a\u4ece C++11 \u5f00\u59cb\uff0c\u8fd8\u4f1a\u81ea\u52a8\u751f\u6210<strong>\u79fb\u52a8\u6784\u9020\u51fd\u6570<\/strong>\u548c<strong>\u79fb\u52a8\u8d4b\u503c\u8fd0\u7b97\u7b26<\/strong>\u3002<\/li>\n\n\n\n<li>\u8fd9\u4e9b\u51fd\u6570\u90fd\u662f <code>public<\/code> \u4e14 <code>inline<\/code> \u7684\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u7a7a\u7c7b\u7684\u5927\u5c0f\u901a\u5e38\u4e0d\u662f 0\uff08\u4e3a\u4e86\u786e\u4fdd\u6bcf\u4e2a\u5bf9\u8c61\u6709\u552f\u4e00\u7684\u5730\u5740\uff0c\u901a\u5e38\u4e3a 1 \u5b57\u8282\uff09\uff0c\u4f46\u786e\u5b9e\u62e5\u6709\u8fd9\u4e9b\u9ed8\u8ba4\u6210\u5458\u51fd\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">88. A\u7ee7\u627fB,C\u4e24\u4e2a\u7a7a\u7c7b\uff0c\u5bf9A\u8fdb\u884c\u5f3a\u8f6c\u6210B,C\uff0c\u5730\u5740\u7a7a\u95f4\u6709\u4ec0\u4e48\u53d8\u5316\u5462<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728 C++ \u4e2d\uff0c\u5f53\u53d1\u751f\u591a\u91cd\u7ee7\u627f\u65f6\uff0c\u6d3e\u751f\u7c7b\u5bf9\u8c61\u7684\u5185\u5b58\u5e03\u5c40\u4f1a\u5305\u542b\u6bcf\u4e2a\u57fa\u7c7b\u7684\u5b50\u5bf9\u8c61\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u60c5\u51b5<\/strong>\uff1a<code>class A : public B, public C {};<\/code>\uff0c\u5176\u4e2d <code>B<\/code> \u548c <code>C<\/code> \u662f\u7a7a\u7c7b\uff08\u5927\u5c0f\u901a\u5e38\u4e3a 1 \u5b57\u8282\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5e03\u5c40<\/strong>\uff1a\u4e00\u4e2a <code>A<\/code> \u5bf9\u8c61\u7684\u5185\u5b58\u4e2d\uff0c<strong>\u5148\u5b58\u653e <code>B<\/code> \u7684\u5b50\u5bf9\u8c61\uff0c\u7136\u540e\u5b58\u653e <code>C<\/code> \u7684\u5b50\u5bf9\u8c61\uff0c\u6700\u540e\u5b58\u653e <code>A<\/code> \u81ea\u8eab\u7684\u6210\u5458<\/strong>\uff08\u5982\u679c\u6709\u7684\u8bdd\uff09\u3002\u7531\u4e8e\u7a7a\u57fa\u7c7b\u4f18\u5316\uff0c\u7a7a\u57fa\u7c7b\u5b50\u5bf9\u8c61\u7684\u5927\u5c0f\u53ef\u80fd\u88ab\u4f18\u5316\u6389\uff0c\u4f46\u4e3a\u4e86\u533a\u5206\u5b83\u4eec\uff0c\u4ecd\u7136\u9700\u8981\u5360\u636e\u4f4d\u7f6e\u3002<\/li>\n\n\n\n<li><strong>\u5730\u5740\u53d8\u5316<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>A* a_ptr = new A;<\/code><\/li>\n\n\n\n<li><code>B* b_ptr = static_cast&lt;B*>(a_ptr);<\/code> <strong><code>b_ptr<\/code> \u7684\u503c\u7b49\u4e8e <code>a_ptr<\/code><\/strong>\u3002\u56e0\u4e3a <code>B<\/code> \u7684\u5b50\u5bf9\u8c61\u5728\u5f00\u5934\u3002<\/li>\n\n\n\n<li><code>C* c_ptr = static_cast&lt;C*>(a_ptr);<\/code> <strong><code>c_ptr<\/code> \u7684\u503c\u4e0d\u7b49\u4e8e <code>a_ptr<\/code><\/strong>\u3002\u5b83\u9700\u8981\u6307\u5411 <code>A<\/code> \u5bf9\u8c61\u5185\u90e8 <code>C<\/code> \u5b50\u5bf9\u8c61\u7684\u4f4d\u7f6e\uff0c\u56e0\u6b64\u7f16\u8bd1\u5668\u4f1a\u5728\u8f6c\u6362\u65f6\u8fdb\u884c<strong>\u5730\u5740\u504f\u79fb<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u8fd9\u79cd\u5730\u5740\u504f\u79fb\u662f\u5728\u7f16\u8bd1\u65f6\u7531\u7f16\u8bd1\u5668\u81ea\u52a8\u5b8c\u6210\u7684\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">89. public\/private\u7ee7\u627f\u7684\u5173\u7cfb\u53ca\u5e94\u7528\u573a\u666f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u7ee7\u627f\u65b9\u5f0f\u51b3\u5b9a\u4e86\u57fa\u7c7b\u6210\u5458\u5728\u6d3e\u751f\u7c7b\u4e2d\u7684<strong>\u8bbf\u95ee\u6743\u9650<\/strong>\u4ee5\u53ca<strong>&#8220;is-a&#8221;<\/strong> \u5173\u7cfb\u7684\u8bed\u4e49\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>public \u7ee7\u627f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8bed\u4e49<\/strong>\uff1a\u8868\u793a <strong>&#8220;is-a&#8221;<\/strong> \u5173\u7cfb\u3002\u6d3e\u751f\u7c7b\u662f\u57fa\u7c7b\u7684\u4e00\u79cd\u7279\u6b8a\u5f62\u5f0f\u3002\u4f8b\u5982 <code>Student<\/code> public \u7ee7\u627f <code>Person<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u8bbf\u95ee\u6743\u9650<\/strong>\uff1a\u57fa\u7c7b\u7684 <code>public<\/code> \u6210\u5458\u5728\u6d3e\u751f\u7c7b\u4e2d\u4ecd\u662f <code>public<\/code>\uff1b<code>protected<\/code> \u6210\u5458\u4ecd\u662f <code>protected<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u573a\u666f<\/strong>\uff1a\u6700\u5e38\u7528\uff0c\u7528\u4e8e\u5b9e\u73b0\u63a5\u53e3\u7ee7\u627f\u548c\u5b50\u7c7b\u578b\u591a\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>private \u7ee7\u627f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8bed\u4e49<\/strong>\uff1a\u8868\u793a <strong>&#8220;is-implemented-in-terms-of&#8221;<\/strong>\uff08\u6839\u636e\u2026\u2026\u5b9e\u73b0\uff09\u5173\u7cfb\u3002\u5b83\u662f\u4e00\u79cd<strong>\u5b9e\u73b0\u7ee7\u627f<\/strong>\uff0c\u800c\u975e\u63a5\u53e3\u7ee7\u627f\u3002\u6d3e\u751f\u7c7b\u4e0d\u662f\u57fa\u7c7b\u7684\u5b50\u7c7b\u578b\u3002<\/li>\n\n\n\n<li><strong>\u8bbf\u95ee\u6743\u9650<\/strong>\uff1a\u57fa\u7c7b\u7684\u6240\u6709\u6210\u5458\uff08<code>public<\/code>, <code>protected<\/code>\uff09\u5728\u6d3e\u751f\u7c7b\u4e2d\u90fd\u53d8\u6210 <code>private<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u573a\u666f<\/strong>\uff1a\u5f88\u5c11\u4f7f\u7528\u3002\u901a\u5e38\u53ef\u4ee5\u7528<strong>\u7ec4\u5408<\/strong>\uff08\u5728\u7c7b\u4e2d\u5305\u542b\u4e00\u4e2a\u57fa\u7c7b\u7c7b\u578b\u7684\u6210\u5458\u53d8\u91cf\uff09\u6765\u66ff\u4ee3\uff0c\u7ec4\u5408\u66f4\u7075\u6d3b\u3001\u8026\u5408\u5ea6\u66f4\u4f4e\u3002\u53ea\u6709\u5728\u9700\u8981\u91cd\u5199\u57fa\u7c7b\u7684\u865a\u51fd\u6570\uff0c\u6216\u9700\u8981\u8bbf\u95ee\u57fa\u7c7b\u7684 <code>protected<\/code> \u6210\u5458\u65f6\uff0c\u624d\u8003\u8651\u4f7f\u7528 private \u7ee7\u627f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>protected \u7ee7\u627f<\/strong>\uff1a\u66f4\u5c11\u89c1\uff0c\u57fa\u7c7b\u7684 <code>public<\/code> \u6210\u5458\u5728\u6d3e\u751f\u7c7b\u4e2d\u53d8\u4e3a <code>protected<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">90. C++\u7684\u591a\u6001\u5982\u4f55\u5b9e\u73b0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6b64\u95ee\u9898\u4e0e\u7b2c 24 \u9898\uff08\u865a\u51fd\u6570\u7684\u539f\u7406\uff09\u548c\u7b2c 86 \u9898\uff08\u591a\u6001\u7684\u79cd\u7c7b\uff09\u76f8\u5173\u3002C++ \u7684\u591a\u6001\u4e3b\u8981\u901a\u8fc7\u4ee5\u4e0b\u673a\u5236\u5b9e\u73b0\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u57fa\u7840<\/strong>\uff1a<strong>\u865a\u51fd\u6570<\/strong>\u3002\u5728\u57fa\u7c7b\u4e2d\u5c06\u51fd\u6570\u58f0\u660e\u4e3a <code>virtual<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u91cd\u5199<\/strong>\uff1a\u5728\u6d3e\u751f\u7c7b\u4e2d\u63d0\u4f9b\u865a\u51fd\u6570\u7684<strong>\u91cd\u5199<\/strong>\u7248\u672c\u3002<\/li>\n\n\n\n<li><strong>\u8c03\u7528\u65b9\u5f0f<\/strong>\uff1a\u901a\u8fc7<strong>\u57fa\u7c7b\u7684\u6307\u9488\u6216\u5f15\u7528<\/strong>\u6765\u8c03\u7528\u865a\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u5e95\u5c42\u673a\u5236<\/strong>\uff1a<strong>\u865a\u51fd\u6570\u8868\uff08vtable\uff09<\/strong> \u548c<strong>\u865a\u51fd\u6570\u8868\u6307\u9488\uff08vptr\uff09<\/strong>\u3002\n<ul class=\"wp-block-list\">\n<li>\u7f16\u8bd1\u5668\u4e3a\u6bcf\u4e2a\u5305\u542b\u865a\u51fd\u6570\u7684\u7c7b\u521b\u5efa\u4e00\u4e2a vtable\uff0c\u5b58\u653e\u865a\u51fd\u6570\u5730\u5740\u3002<\/li>\n\n\n\n<li>\u6bcf\u4e2a\u5bf9\u8c61\u5185\u542b\u4e00\u4e2a vptr\uff0c\u6307\u5411\u5176\u7c7b\u7684 vtable\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7\u57fa\u7c7b\u6307\u9488\u8c03\u7528\u865a\u51fd\u6570\u65f6\uff0c\u7a0b\u5e8f\u901a\u8fc7 vptr \u627e\u5230 vtable\uff0c\u518d\u901a\u8fc7 vtable \u627e\u5230\u6b63\u786e\u7684\u51fd\u6570\u5730\u5740\u8fdb\u884c\u8c03\u7528\u3002 \u8fd9\u4e2a\u8fc7\u7a0b\u53d1\u751f\u5728\u8fd0\u884c\u65f6\uff0c\u56e0\u6b64\u80fd\u591f\u6839\u636e\u5bf9\u8c61\u7684\u5b9e\u9645\u7c7b\u578b\u6765\u52a8\u6001\u51b3\u5b9a\u8c03\u7528\u54ea\u4e2a\u51fd\u6570\uff0c\u4ece\u800c\u5b9e\u73b0\u591a\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">91. \u57fa\u7c7b\u548c\u6d3e\u751f\u7c7b\u7684\u6784\u9020\u51fd\u6570\u548c\u6790\u6784\u51fd\u6570\u7684\u6267\u884c\u987a\u5e8f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6784\u9020\u51fd\u6570\u6267\u884c\u987a\u5e8f<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u57fa\u7c7b\u6784\u9020\u51fd\u6570<\/strong>\uff1a\u5982\u679c\u6709\u591a\u91cd\u7ee7\u627f\uff0c\u6309\u7167\u7ee7\u627f\u58f0\u660e\u7684\u987a\u5e8f\u6267\u884c\u57fa\u7c7b\u7684\u6784\u9020\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u6210\u5458\u5bf9\u8c61\u6784\u9020\u51fd\u6570<\/strong>\uff1a\u6309\u7167\u5728\u7c7b\u4e2d\u58f0\u660e\u7684\u987a\u5e8f\u6267\u884c\u6210\u5458\u5bf9\u8c61\u7684\u6784\u9020\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u6d3e\u751f\u7c7b\u81ea\u8eab\u7684\u6784\u9020\u51fd\u6570<\/strong>\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u6790\u6784\u51fd\u6570\u6267\u884c\u987a\u5e8f<\/strong>\uff1a<strong>\u5b8c\u5168\u76f8\u53cd<\/strong>\u3002\n<ol class=\"wp-block-list\">\n<li><strong>\u6d3e\u751f\u7c7b\u81ea\u8eab\u7684\u6790\u6784\u51fd\u6570<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u6210\u5458\u5bf9\u8c61\u6790\u6784\u51fd\u6570<\/strong>\uff1a\u6309\u7167\u58f0\u660e\u7684\u9006\u5e8f\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u57fa\u7c7b\u6790\u6784\u51fd\u6570<\/strong>\uff1a\u6309\u7167\u7ee7\u627f\u58f0\u660e\u7684\u9006\u5e8f\u6267\u884c\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u539f\u5219<\/strong>\uff1a\u6784\u9020\u65f6&#8221;\u4ece\u5185\u5230\u5916&#8221;\uff08\u5148\u57fa\u7c7b\uff0c\u518d\u6210\u5458\uff0c\u6700\u540e\u81ea\u5df1\uff09\uff1b\u6790\u6784\u65f6&#8221;\u4ece\u5916\u5230\u5185&#8221;\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">92. \u8c08\u8c08\u6df1\u62f7\u8d1d\u548c\u6d45\u62f7\u8d1d\uff0c\u4ee5\u53ca\u5982\u4f55\u5b9e\u73b0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6d45\u62f7\u8d1d<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u53ea\u62f7\u8d1d\u5bf9\u8c61\u7684\u6570\u636e\u6210\u5458\u7684\u503c\uff08\u5305\u62ec\u6307\u9488\u6210\u5458\u7684\u503c\uff09\uff0c\u5373\u62f7\u8d1d\u6307\u9488\u672c\u8eab\uff0c\u800c\u4e0d\u662f\u6307\u9488\u6307\u5411\u7684\u5185\u5bb9\u3002<\/li>\n\n\n\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u5982\u679c\u5bf9\u8c61\u5305\u542b\u52a8\u6001\u5206\u914d\u7684\u8d44\u6e90\uff08\u5982\u5806\u5185\u5b58\uff09\uff0c\u6d45\u62f7\u8d1d\u540e\uff0c\u4e24\u4e2a\u5bf9\u8c61\u7684\u6307\u9488\u6210\u5458\u6307\u5411<strong>\u540c\u4e00\u5757\u5185\u5b58<\/strong>\u3002\u6790\u6784\u65f6\u4f1a\u5bfc\u81f4\u540c\u4e00\u5185\u5b58\u88ab\u91ca\u653e\u4e24\u6b21\uff08<strong>\u91cd\u590d\u91ca\u653e<\/strong>\uff09\uff0c\u5f15\u53d1\u672a\u5b9a\u4e49\u884c\u4e3a\u3002<\/li>\n\n\n\n<li><strong>\u9ed8\u8ba4\u884c\u4e3a<\/strong>\uff1a\u7f16\u8bd1\u5668\u9ed8\u8ba4\u751f\u6210\u7684\u62f7\u8d1d\u6784\u9020\u51fd\u6570\u548c\u8d4b\u503c\u8fd0\u7b97\u7b26\u5c31\u662f\u6d45\u62f7\u8d1d\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6df1\u62f7\u8d1d<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u4e0d\u4ec5\u62f7\u8d1d\u6570\u636e\u6210\u5458\u7684\u503c\uff0c\u8fd8\u4e3a\u6307\u9488\u6210\u5458<strong>\u91cd\u65b0\u5206\u914d\u5185\u5b58<\/strong>\uff0c\u5e76\u62f7\u8d1d\u6307\u9488\u6307\u5411\u7684\u5185\u5bb9\u3002\u8fd9\u6837\u4e24\u4e2a\u5bf9\u8c61\u5c31\u62e5\u6709\u5404\u81ea\u72ec\u7acb\u7684\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u9700\u8981\u7a0b\u5e8f\u5458<strong>\u81ea\u5b9a\u4e49\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/strong>\u548c<strong>\u91cd\u8f7d\u8d4b\u503c\u8fd0\u7b97\u7b26<\/strong>\u3002cpp\u590d\u5236\u4e0b\u8f7dclass MyString { private: char* m_data; public: \/\/ \u6df1\u62f7\u8d1d\u7684\u62f7\u8d1d\u6784\u9020\u51fd\u6570 MyString(const MyString&amp; other) { m_data = new char[strlen(other.m_data) + 1]; strcpy(m_data, other.m_data); } \/\/ \u6df1\u62f7\u8d1d\u7684\u8d4b\u503c\u8fd0\u7b97\u7b26 MyString&amp; operator=(const MyString&amp; other) { if (this != &amp;other) { \/\/ \u9632\u6b62\u81ea\u8d4b\u503c delete[] m_data; \/\/ \u91ca\u653e\u539f\u6709\u8d44\u6e90 m_data = new char[strlen(other.m_data) + 1]; strcpy(m_data, other.m_data); } return *this; } };<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f55\u65f6\u9700\u8981\u6df1\u62f7\u8d1d<\/strong>\uff1a\u5f53\u7c7b\u542b\u6709\u6307\u9488\u6210\u5458\uff0c\u5e76\u4e14\u8be5\u6307\u9488\u6307\u5411\u52a8\u6001\u5206\u914d\u7684\u8d44\u6e90\u65f6\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">93. string\u7684\u8d4b\u503c\u64cd\u4f5c\u662f\u6df1\u62f7\u8d1d\u8fd8\u662f\u6d45\u62f7\u8d1d<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728 C++ \u6807\u51c6\u5e93\u7684 <code>std::string<\/code> \u5b9e\u73b0\u4e2d\uff0c\u8d4b\u503c\u64cd\u4f5c\uff08<code>=<\/code>\uff09\u662f<strong>\u6df1\u62f7\u8d1d<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5b83\u4f1a\u521b\u5efa\u4e00\u4e2a\u539f\u59cb\u5b57\u7b26\u4e32\u7684<strong>\u72ec\u7acb\u526f\u672c<\/strong>\u3002\u4fee\u6539\u4e00\u4e2a <code>string<\/code> \u4e0d\u4f1a\u5f71\u54cd\u53e6\u4e00\u4e2a\u3002<\/li>\n\n\n\n<li>\u73b0\u4ee3\u5b9e\u73b0\u53ef\u80fd\u4f7f\u7528<strong>\u5199\u65f6\u590d\u5236<\/strong> \u6216<strong>\u77ed\u5b57\u7b26\u4e32\u4f18\u5316<\/strong> \u6765\u4f18\u5316\u6027\u80fd\uff0c\u4f46\u8fd9\u4e9b\u4f18\u5316\u90fd\u4fdd\u8bc1\u4e86\u8bed\u4e49\u4e0a\u7684\u6df1\u62f7\u8d1d\u884c\u4e3a\uff0c\u5373\u4e24\u4e2a\u5b57\u7b26\u4e32\u5bf9\u8c61\u5728\u903b\u8f91\u4e0a\u62e5\u6709\u72ec\u7acb\u7684\u5185\u5bb9\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">94. \u4ec0\u4e48\u65f6\u5019\u91cd\u8f7d\u8d4b\u503c\u8fd0\u7b97\u7b26\u4e0e\u590d\u5236\u62f7\u8d1d\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>&#8220;\u4e09\u6cd5\u5219&#8221;<\/strong>\uff1a\u5982\u679c\u4e00\u4e2a\u7c7b\u9700\u8981\u81ea\u5b9a\u4e49<strong>\u6790\u6784\u51fd\u6570<\/strong>\u3001<strong>\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/strong>\u6216<strong>\u62f7\u8d1d\u8d4b\u503c\u8fd0\u7b97\u7b26<\/strong>\u4e2d\u7684\u4efb\u4f55\u4e00\u4e2a\uff0c\u90a3\u4e48\u5b83\u5f88\u53ef\u80fd\u9700\u8981\u5168\u90e8\u4e09\u4e2a\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u66f4\u73b0\u4ee3\u7684 <strong>&#8220;\u4e94\u6cd5\u5219&#8221;<\/strong> \u8fd8\u52a0\u4e0a<strong>\u79fb\u52a8\u6784\u9020\u51fd\u6570<\/strong>\u548c<strong>\u79fb\u52a8\u8d4b\u503c\u8fd0\u7b97\u7b26<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u5177\u4f53\u573a\u666f<\/strong>\uff1a\u5f53\u7c7b\u7ba1\u7406\u7740<strong>\u52a8\u6001\u5206\u914d\u7684\u8d44\u6e90<\/strong>\uff08\u5982\u5806\u5185\u5b58\u3001\u6587\u4ef6\u53e5\u67c4\u3001\u7f51\u7edc\u8fde\u63a5\u7b49\uff09\u65f6\uff0c\u9ed8\u8ba4\u7684\u6d45\u62f7\u8d1d\u884c\u4e3a\u4f1a\u5bfc\u81f4\u95ee\u9898\uff08\u5982\u91cd\u590d\u91ca\u653e\u3001\u8d44\u6e90\u6cc4\u6f0f\uff09\uff0c\u5c31\u5fc5\u987b\u81ea\u5b9a\u4e49\u8fd9\u4e9b\u51fd\u6570\u6765\u5b9e\u73b0\u6df1\u62f7\u8d1d\u6216\u6b63\u786e\u7684\u8d44\u6e90\u8f6c\u79fb\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">95. \u4ec0\u4e48\u5730\u65b9\u9700\u8981\u7528\u5230\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u62f7\u8d1d\u6784\u9020\u51fd\u6570\u5728\u4ee5\u4e0b\u4e09\u79cd\u60c5\u51b5\u4e0b\u88ab\u8c03\u7528\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7528\u4e00\u4e2a\u5bf9\u8c61\u521d\u59cb\u5316\u53e6\u4e00\u4e2a\u5bf9\u8c61<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>MyClass obj2 = obj1;<\/code> \uff08\u62f7\u8d1d\u521d\u59cb\u5316\uff09<\/li>\n\n\n\n<li><code>MyClass obj3(obj1);<\/code> \uff08\u76f4\u63a5\u521d\u59cb\u5316\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u53c2\u6570\u4f20\u9012<\/strong>\uff1a\u5f53\u51fd\u6570\u53c2\u6570\u662f<strong>\u6309\u503c\u4f20\u9012<\/strong>\u4e00\u4e2a\u7c7b\u5bf9\u8c61\u65f6\u3002\n<ul class=\"wp-block-list\">\n<li><code>void func(MyClass obj);<\/code> <code>func(myObj);<\/code> \/\/ \u8c03\u7528\u62f7\u8d1d\u6784\u9020\u521d\u59cb\u5316 <code>obj<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u8fd4\u56de\u503c<\/strong>\uff1a\u5f53\u51fd\u6570<strong>\u6309\u503c\u8fd4\u56de<\/strong>\u4e00\u4e2a\u7c7b\u5bf9\u8c61\u65f6\uff08\u5982\u679c\u7f16\u8bd1\u5668\u672a\u505a\u8fd4\u56de\u503c\u4f18\u5316 RVO\/NRVO\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">96. virtual\uff08\uff09=0\u662f\u4ec0\u4e48\u610f\u601d<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u662f<strong>\u7eaf\u865a\u51fd\u6570<\/strong>\u7684\u58f0\u660e\u8bed\u6cd5\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>virtual ReturnType FunctionName(Parameters) = 0;<\/code><\/li>\n\n\n\n<li>\u8868\u793a\u8fd9\u4e2a\u51fd\u6570\u5728\u57fa\u7c7b\u4e2d<strong>\u6ca1\u6709\u9ed8\u8ba4\u5b9e\u73b0<\/strong>\uff0c\u6d3e\u751f\u7c7b<strong>\u5fc5\u987b<\/strong>\u63d0\u4f9b\u8fd9\u4e2a\u51fd\u6570\u7684\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li>\u5305\u542b\u7eaf\u865a\u51fd\u6570\u7684\u7c7b\u79f0\u4e3a<strong>\u62bd\u8c61\u7c7b<\/strong>\uff0c<strong>\u4e0d\u80fd\u5b9e\u4f8b\u5316\u5bf9\u8c61<\/strong>\u3002\u5b83\u7528\u4e8e\u5b9a\u4e49\u63a5\u53e3\u89c4\u8303\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">97. \u865a\u51fd\u6570\u548c\u865a\u7ee7\u627f\u662f\u600e\u4e48\u5b9e\u73b0\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u662f\u4e24\u4e2a\u4e0d\u540c\u7684\u6982\u5ff5\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u865a\u51fd\u6570<\/strong>\uff1a\u901a\u8fc7<strong>\u865a\u51fd\u6570\u8868<\/strong> \u5b9e\u73b0\u3002\u6bcf\u4e2a\u7c7b\u4e00\u4e2a vtable\uff0c\u6bcf\u4e2a\u5bf9\u8c61\u4e00\u4e2a vptr\u3002\u8c03\u7528\u65f6\u901a\u8fc7 vptr \u627e\u5230 vtable\uff0c\u518d\u627e\u5230\u51fd\u6570\u5730\u5740\u3002<\/li>\n\n\n\n<li><strong>\u865a\u7ee7\u627f<\/strong>\uff1a\u7528\u4e8e\u89e3\u51b3\u83f1\u5f62\u7ee7\u627f\uff08\u591a\u7ee7\u627f\uff09\u65f6\u7684<strong>\u6570\u636e\u5197\u4f59<\/strong>\u548c<strong>\u4e8c\u4e49\u6027<\/strong>\u95ee\u9898\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u7f16\u8bd1\u5668\u4f1a\u4e3a\u865a\u7ee7\u627f\u7684\u57fa\u7c7b\u5728\u6d3e\u751f\u7c7b\u4e2d\u5b89\u6392\u4e00\u4e2a<strong>\u5171\u4eab\u7684\u5b9e\u4f8b<\/strong>\u3002\u901a\u5e38\u901a\u8fc7\u4e00\u4e2a\u989d\u5916\u7684\u95f4\u63a5\u5c42\uff08\u5982\u4e00\u4e2a\u6307\u9488\uff09\u6765\u8bbf\u95ee\u8fd9\u4e2a\u5171\u4eab\u7684\u57fa\u7c7b\u5b50\u5bf9\u8c61\u3002\u8fd9\u4e2a\u6307\u9488\u53ef\u80fd\u5b58\u50a8\u5728\u6d3e\u751f\u7c7b\u5bf9\u8c61\u4e2d\uff0c\u6216\u8005\u901a\u8fc7\u865a\u57fa\u7c7b\u8868\u6765\u5b9a\u4f4d\u3002<\/li>\n\n\n\n<li><strong>\u5f00\u9500<\/strong>\uff1a\u865a\u7ee7\u627f\u589e\u52a0\u4e86\u5bf9\u8c61\u7684\u5185\u5b58\u5f00\u9500\u548c\u8bbf\u95ee\u57fa\u7c7b\u6210\u5458\u7684\u65f6\u95f4\u5f00\u9500\uff08\u9700\u8981\u4e00\u6b21\u95f4\u63a5\u5bfb\u5740\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">98. \u5982\u679c\u6211\u6709\u4e00\u5757\u5730\u5740\u7a7a\u95f4\uff0c\u6211\u600e\u4e48\u5728\u8fd9\u4e2a\u5730\u5740\u7a7a\u95f4\u5185\u8c03\u7528\u6784\u9020\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u9700\u8981\u4f7f\u7528 <strong>&#8220;placement new&#8221;<\/strong> \u8fd0\u7b97\u7b26\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u76ee\u7684<\/strong>\uff1a\u5728\u5df2\u5206\u914d\u597d\u7684\u5185\u5b58\u5730\u5740\u4e0a\u6784\u9020\u5bf9\u8c61\uff0c\u800c\u4e0d\u8fdb\u884c\u52a8\u6001\u5185\u5b58\u5206\u914d\u3002<\/li>\n\n\n\n<li><strong>\u8bed\u6cd5<\/strong>\uff1a<code>new (address) Type(constructor_arguments);<\/code><\/li>\n\n\n\n<li><strong>\u793a\u4f8b<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d#include &lt;new> \/\/ \u9700\u8981\u5305\u542b\u8fd9\u4e2a\u5934\u6587\u4ef6 void* memory = malloc(sizeof(MyClass)); \/\/ \u9884\u5148\u5206\u914d\u597d\u5185\u5b58 MyClass* obj = new (memory) MyClass(10, 20); \/\/ \u5728memory\u6307\u5411\u7684\u5730\u5740\u4e0a\u6784\u9020MyClass\u5bf9\u8c61 \/\/ \u4f7f\u7528\u5bf9\u8c61&#8230; obj->~MyClass(); \/\/ \u5fc5\u987b\u663e\u5f0f\u8c03\u7528\u6790\u6784\u51fd\u6570\uff01 free(memory); \/\/ \u7136\u540e\u91ca\u653e\u5185\u5b58<\/li>\n\n\n\n<li><strong>\u5173\u952e\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5b83\u4e0d\u5206\u914d\u5185\u5b58\uff0c\u53ea\u8c03\u7528\u6784\u9020\u51fd\u6570\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528\u5b8c\u6bd5\u540e\uff0c\u5fc5\u987b<strong>\u663e\u5f0f\u8c03\u7528\u6790\u6784\u51fd\u6570<\/strong>\uff0c\u7136\u540e\u91ca\u653e\u539f\u59cb\u5185\u5b58\u5757\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">99. sizeof\uff08A\uff09\u662f\u591a\u5c11\uff08\u9488\u5bf9\u9898\u76ee\u4e2d\u7684\u7c7b\u56fe\/\u4ee3\u7801\uff09<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u7531\u4e8e\u9898\u76ee\u9644\u5e26\u4e86\u56fe\u7247\uff08<code>media\/5zg3qj4gwbg7o1kmbeqsif.png<\/code>\uff09\u4f46\u6211\u65e0\u6cd5\u76f4\u63a5\u67e5\u770b\uff0c\u6211\u65e0\u6cd5\u7ed9\u51fa\u5177\u4f53\u6570\u503c\u3002\u4f46\u56de\u7b54\u6b64\u7c7b\u95ee\u9898\u7684\u601d\u8def\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u57fa\u672c\u539f\u5219<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5185\u5b58\u5bf9\u9f50<\/strong>\uff1a\u7f16\u8bd1\u5668\u4e3a\u4e86\u4f18\u5316\u8bbf\u95ee\u901f\u5ea6\uff0c\u4f1a\u5bf9\u6570\u636e\u6210\u5458\u8fdb\u884c\u5185\u5b58\u5bf9\u9f50\u3002\u7ed3\u6784\u4f53\u7684\u5927\u5c0f\u901a\u5e38\u662f\u5176\u6700\u5bbd\u57fa\u672c\u7c7b\u578b\u6210\u5458\u7684\u6574\u6570\u500d\u3002<\/li>\n\n\n\n<li><strong>\u865a\u51fd\u6570<\/strong>\uff1a\u5982\u679c\u7c7b\u5305\u542b\u865a\u51fd\u6570\uff0c\u5219\u5bf9\u8c61\u5185\u90e8\u4f1a\u6709\u4e00\u4e2a\u865a\u51fd\u6570\u8868\u6307\u9488 <code>vptr<\/code>\uff0c\u901a\u5e38\u5360 4 \u6216 8 \u5b57\u8282\uff0832\/64 \u4f4d\u7cfb\u7edf\uff09\u3002<\/li>\n\n\n\n<li><strong>\u9759\u6001\u6210\u5458<\/strong>\uff1a\u9759\u6001\u6210\u5458\u53d8\u91cf\u4e0d\u5360\u7528\u5bf9\u8c61\u7684\u7a7a\u95f4\uff0c<code>sizeof<\/code> \u4e0d\u5305\u542b\u5b83\u4eec\u3002<\/li>\n\n\n\n<li><strong>\u7ee7\u627f<\/strong>\uff1a\u6d3e\u751f\u7c7b\u7684\u5927\u5c0f\u5305\u62ec\u57fa\u7c7b\u5b50\u5bf9\u8c61\u7684\u5927\u5c0f\u52a0\u4e0a\u81ea\u8eab\u6570\u636e\u6210\u5458\u7684\u5927\u5c0f\uff0c\u5e76\u8003\u8651\u5bf9\u9f50\u3002<\/li>\n\n\n\n<li><strong>\u7a7a\u7c7b<\/strong>\uff1a\u5373\u4f7f\u662f\u7a7a\u7c7b\uff0c<code>sizeof<\/code> \u4e5f\u4e3a 1\uff08\u4e3a\u4e86\u786e\u4fdd\u6bcf\u4e2a\u5bf9\u8c61\u6709\u552f\u4e00\u5730\u5740\uff09\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7b54\u9898\u65b9\u6cd5<\/strong>\uff1a\u5206\u6790\u7c7b A \u7684\u6570\u636e\u6210\u5458\u3001\u57fa\u7c7b\u3001\u662f\u5426\u6709\u865a\u51fd\u6570\uff0c\u7136\u540e\u8003\u8651\u5bf9\u9f50\u89c4\u5219\u8fdb\u884c\u8ba1\u7b97\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">100. STL\u5305\u62ec\u54ea\u4e9b\u5185\u5bb9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> STL\uff08Standard Template Library\uff09\u662f C++ \u6807\u51c6\u5e93\u7684\u6838\u5fc3\u7ec4\u6210\u90e8\u5206\uff0c\u4e3b\u8981\u5305\u62ec\u516d\u5927\u7ec4\u4ef6\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5bb9\u5668<\/strong>\uff1a\u7528\u4e8e\u5b58\u50a8\u6570\u636e\u7684\u901a\u7528\u6570\u636e\u7ed3\u6784\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u5e8f\u5217\u5f0f\u5bb9\u5668<\/strong>\uff1a<code>vector<\/code>, <code>deque<\/code>, <code>list<\/code>, <code>array<\/code>, <code>forward_list<\/code><\/li>\n\n\n\n<li><strong>\u5173\u8054\u5f0f\u5bb9\u5668<\/strong>\uff1a<code>set<\/code>, <code>multiset<\/code>, <code>map<\/code>, <code>multimap<\/code>\uff08\u901a\u5e38\u57fa\u4e8e\u7ea2\u9ed1\u6811\uff09<\/li>\n\n\n\n<li><strong>\u65e0\u5e8f\u5173\u8054\u5bb9\u5668<\/strong>\uff1a<code>unordered_set<\/code>, <code>unordered_multiset<\/code>, <code>unordered_map<\/code>, <code>unordered_multimap<\/code>\uff08\u57fa\u4e8e\u54c8\u5e0c\u8868\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b97\u6cd5<\/strong>\uff1a\u5927\u91cf\u901a\u7528\u7684\u7b97\u6cd5\u6a21\u677f\u51fd\u6570\uff0c\u4f5c\u7528\u4e8e\u5bb9\u5668\u4e0a\u3002\n<ul class=\"wp-block-list\">\n<li>\u5982 <code>sort<\/code>, <code>find<\/code>, <code>copy<\/code>, <code>transform<\/code> \u7b49\u3002\u5927\u7ea6\u6709 100 \u591a\u4e2a\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fed\u4ee3\u5668<\/strong>\uff1a\u7c7b\u4f3c\u4e8e\u6307\u9488\uff0c\u7528\u4e8e\u904d\u5386\u548c\u8bbf\u95ee\u5bb9\u5668\u4e2d\u7684\u5143\u7d20\uff0c\u662f\u5bb9\u5668\u548c\u7b97\u6cd5\u4e4b\u95f4\u7684\u6865\u6881\u3002\n<ul class=\"wp-block-list\">\n<li>\u5206\u4e3a\u8f93\u5165\u8fed\u4ee3\u5668\u3001\u8f93\u51fa\u8fed\u4ee3\u5668\u3001\u524d\u5411\u8fed\u4ee3\u5668\u3001\u53cc\u5411\u8fed\u4ee3\u5668\u3001\u968f\u673a\u8bbf\u95ee\u8fed\u4ee3\u5668\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4eff\u51fd\u6570<\/strong>\uff1a\u884c\u4e3a\u7c7b\u4f3c\u51fd\u6570\u7684\u5bf9\u8c61\uff0c\u91cd\u8f7d\u4e86 <code>operator()<\/code>\u3002\u53ef\u7528\u4e8e\u5b9a\u5236\u7b97\u6cd5\u7684\u884c\u4e3a\u3002<\/li>\n\n\n\n<li><strong>\u9002\u914d\u5668<\/strong>\uff1a\u4e00\u79cd\u63a5\u53e3\u7c7b\uff0c\u7528\u4e8e\u4fee\u6539\u5bb9\u5668\u3001\u8fed\u4ee3\u5668\u6216\u4eff\u51fd\u6570\u7684\u63a5\u53e3\u3002\n<ul class=\"wp-block-list\">\n<li>\u5bb9\u5668\u9002\u914d\u5668\uff1a<code>stack<\/code>, <code>queue<\/code>, <code>priority_queue<\/code><\/li>\n\n\n\n<li>\u8fed\u4ee3\u5668\u9002\u914d\u5668\uff1a<code>reverse_iterator<\/code><\/li>\n\n\n\n<li>\u51fd\u6570\u9002\u914d\u5668\uff1a<code>bind<\/code>, <code>negate<\/code> \u7b49\uff08C++11 \u540e\u529f\u80fd\u88ab <code>bind<\/code> \u548c lambda \u90e8\u5206\u66ff\u4ee3\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7a7a\u95f4\u914d\u7f6e\u5668<\/strong>\uff1a\u8d1f\u8d23\u5185\u5b58\u7684\u5206\u914d\u548c\u91ca\u653e\uff0c\u5bf9\u7528\u6237\u900f\u660e\u3002\u901a\u5e38\u4e0d\u9700\u8981\u5173\u5fc3\uff0c\u4f46\u53ef\u4ee5\u8fdb\u884c\u5b9a\u5236\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">101. vector\u5e95\u5c42\u5b9e\u73b0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>std::vector<\/code>\u7684\u5e95\u5c42\u662f\u4e00\u4e2a<strong>\u52a8\u6001\u5206\u914d\u7684\u6570\u7ec4<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e09\u8981\u7d20<\/strong>\uff1a\u5b83\u901a\u5e38\u7531\u4e09\u4e2a\u6307\u9488\uff08\u6216\u4e00\u4e2a\u6307\u9488\u52a0\u4e24\u4e2a\u5927\u5c0f\uff09\u6765\u7ba1\u7406\uff1a<ol start=\"\"><li><code>start<\/code>\uff1a\u6307\u5411\u6570\u7ec4\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20\u3002<\/li><li><code>finish<\/code>\uff1a\u6307\u5411\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u7684\u4e0b\u4e00\u4e2a\u4f4d\u7f6e\uff08\u5373\u5f53\u524d\u5df2\u4f7f\u7528\u7a7a\u95f4\u7684\u672b\u5c3e\uff09\u3002<\/li><li><code>end_of_storage<\/code>\uff1a\u6307\u5411\u6574\u4e2a\u52a8\u6001\u6570\u7ec4\u7a7a\u95f4\u7684\u672b\u5c3e\u3002<\/li><\/ol>\n<ul class=\"wp-block-list\">\n<li><code>size() = finish - start<\/code><\/li>\n\n\n\n<li><code>capacity() = end_of_storage - start<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u52a8\u6001\u589e\u957f<\/strong>\uff1a\u5f53<code>size() == capacity()<\/code>\u65f6\uff0c\u5982\u679c\u518d\u6dfb\u52a0\u65b0\u5143\u7d20\uff0c<code>vector<\/code>\u4f1a\u8fdb\u884c&#8221;\u91cd\u65b0\u5206\u914d&#8221;\uff1a\n<ol class=\"wp-block-list\">\n<li>\u7533\u8bf7\u4e00\u5757\u66f4\u5927\u7684\u65b0\u5185\u5b58\uff08\u901a\u5e38\u662f\u539f\u5bb9\u91cf\u7684<strong>2\u500d<\/strong>\u6216<strong>1.5\u500d<\/strong>\uff0c\u53d6\u51b3\u4e8e\u5b9e\u73b0\uff09\u3002<\/li>\n\n\n\n<li>\u5c06\u65e7\u5185\u5b58\u7684\u6240\u6709\u5143\u7d20<strong>\u79fb\u52a8\u6216\u62f7\u8d1d<\/strong>\u5230\u65b0\u5185\u5b58\u3002<\/li>\n\n\n\n<li>\u91ca\u653e\u65e7\u5185\u5b58\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\u652f\u6301\u968f\u673a\u8bbf\u95ee\uff08O(1)\uff09\uff0c\u5728\u5c3e\u90e8\u63d2\u5165\u5220\u9664\u6548\u7387\u9ad8\uff08O(1)\u644a\u9500\uff09\uff0c\u5728\u4e2d\u95f4\u6216\u5934\u90e8\u63d2\u5165\u5220\u9664\u6548\u7387\u4f4e\uff08O(n)\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">102. vector\u548cdeque\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>vector<\/code><\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>deque<\/code><\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e95\u5c42\u7ed3\u6784<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5355\u7aef\u52a8\u6001\u6570\u7ec4<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53cc\u7aef\u961f\u5217\uff0c\u7531\u4e00\u6bb5\u6bb5\u5b9a\u957f\u6570\u7ec4\u7ec4\u6210\u7684\u4e2d\u63a7\u5668\u7ed3\u6784<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u5e03\u5c40<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8fde\u7eed\u5b58\u50a8<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5206\u6bb5\u8fde\u7eed\uff0c\u903b\u8f91\u4e0a\u8fde\u7eed<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u968f\u673a\u8bbf\u95ee<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\uff0c\u6548\u7387\u9ad8 O(1)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\uff0c\u6548\u7387\u7a0d\u4f4e\u4e8e vector\uff0c\u4f46\u4e5f\u662f O(1)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5934\u90e8\u63d2\u5165\/\u5220\u9664<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6548\u7387\u4f4e O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6548\u7387\u9ad8 O(1)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5c3e\u90e8\u63d2\u5165\/\u5220\u9664<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6548\u7387\u9ad8 O(1)\uff08\u644a\u9500\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6548\u7387\u9ad8 O(1)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4e2d\u95f4\u63d2\u5165\/\u5220\u9664<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6548\u7387\u4f4e O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6548\u7387\u4f4e O(n)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fed\u4ee3\u5668\u5931\u6548<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d2\u5165\/\u5220\u9664\u53ef\u80fd\u4f7f\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d2\u5165\/\u5220\u9664\u53ef\u80fd\u4f7f\u90e8\u5206\u8fed\u4ee3\u5668\u5931\u6548\uff0c\u60c5\u51b5\u66f4\u590d\u6742<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u589e\u957f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u5e382\u500d\u62161.5\u500d<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u9700&#8221;\u91cd\u65b0\u5206\u914d&#8221;\uff0c\u53ea\u9700\u589e\u52a0\u65b0\u7684\u5b9a\u957f\u6570\u7ec4\u6bb5<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">103. vector\u548clist\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>vector<\/code><\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>list<\/code><\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e95\u5c42\u7ed3\u6784<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u52a8\u6001\u6570\u7ec4<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53cc\u5411\u94fe\u8868<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8fde\u7eed\u5b58\u50a8<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u975e\u8fde\u7eed\u5b58\u50a8<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u968f\u673a\u8bbf\u95ee<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\uff0cO(1)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301\uff0cO(n)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u63d2\u5165\/\u5220\u9664<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5c3e\u90e8\u9ad8\u6548 O(1)\uff0c\u4e2d\u95f4\/\u5934\u90e8\u4f4e\u6548 O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4efb\u610f\u4f4d\u7f6e\u9ad8\u6548 O(1)\uff0c\u53ea\u9700\u4fee\u6539\u6307\u9488<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7a7a\u95f4\u5f00\u9500<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5c0f\uff08\u4ec5\u9700\u5bb9\u91cf\u4fe1\u606f\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5927\uff08\u6bcf\u4e2a\u8282\u70b9\u9700\u8981\u4e24\u4e2a\u6307\u9488\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7f13\u5b58\u53cb\u597d\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u597d\uff08\u8fde\u7eed\u5185\u5b58\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5dee\uff08\u5185\u5b58\u788e\u7247\u5316\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fed\u4ee3\u5668\u7c7b\u578b<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u968f\u673a\u8bbf\u95ee\u8fed\u4ee3\u5668<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53cc\u5411\u8fed\u4ee3\u5668<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">104. vector\uff0clist\u5728\u6dfb\u52a0\u5220\u9664\u7684\u6548\u7387\u65b9\u9762\u6709\u4ec0\u4e48\u4e0d\u540c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>vector<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5c3e\u90e8\u6dfb\u52a0\/\u5220\u9664<\/strong>\uff1a\u6548\u7387\u9ad8\uff0c<strong>O(1)<\/strong>\uff08\u644a\u9500\u65f6\u95f4\uff0c\u8003\u8651\u6269\u5bb9\u5f00\u9500\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5934\u90e8\/\u4e2d\u95f4\u6dfb\u52a0\/\u5220\u9664<\/strong>\uff1a\u6548\u7387\u4f4e\uff0c<strong>O(n)<\/strong>\uff0c\u56e0\u4e3a\u9700\u8981\u79fb\u52a8\u540e\u7eed\u5143\u7d20\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>list<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4efb\u610f\u4f4d\u7f6e\u6dfb\u52a0\/\u5220\u9664<\/strong>\uff1a\u6548\u7387\u90fd\u9ad8\uff0c<strong>O(1)<\/strong>\uff0c\u56e0\u4e3a\u53ea\u9700\u4fee\u6539\u76f8\u90bb\u8282\u70b9\u7684\u6307\u9488\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">105. \u91ca\u653evector\u7684\u5185\u5b58\u7684\u5904\u7406\u65b9\u5f0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>vector<\/code>\u7684<code>clear()<\/code>\u51fd\u6570\u53ea\u9500\u6bc1\u5143\u7d20\uff0c\u5c06<code>size<\/code>\u8bbe\u4e3a0\uff0c\u4f46<strong>\u4e0d\u91ca\u653e\u5bb9\u91cf<\/strong>\uff08<code>capacity<\/code>\u4e0d\u53d8\uff09\u3002\u8981\u771f\u6b63\u91ca\u653e\u5185\u5b58\uff0c\u53ef\u4ee5\u4f7f\u7528\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>swap<\/code>\u6280\u5de7<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dstd::vector&lt;int> vec(1000); \/\/ &#8230; \u4f7f\u7528 vec std::vector&lt;int>().swap(vec); \/\/ \u7528\u4e00\u4e2a\u7a7a\u7684\u4e34\u65f6vector\u548cvec\u4ea4\u6362<\/li>\n\n\n\n<li><strong>C++11\u7684<code>shrink_to_fit()<\/code><\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dvec.clear(); vec.shrink_to_fit(); \/\/ \u8bf7\u6c42\u51cf\u5c11capacity\u4ee5\u5339\u914dsize\uff0c\u4f46\u4e0d\u4fdd\u8bc1<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">106. vector\u8fed\u4ee3\u5668\u5931\u6548\u7684\u60c5\u51b5\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5bfc\u81f4<code>vector<\/code>\u8fed\u4ee3\u5668\u5931\u6548\u7684\u64cd\u4f5c\u4e3b\u8981\u6709\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u63d2\u5165\u5143\u7d20<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u5bfc\u81f4<strong>\u91cd\u65b0\u5206\u914d<\/strong>\uff08<code>size == capacity<\/code>\u65f6\u63d2\u5165\uff09\uff0c\u5219<strong>\u6240\u6709\u8fed\u4ee3\u5668<\/strong>\u90fd\u4f1a\u5931\u6548\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u672a\u91cd\u65b0\u5206\u914d\uff0c\u5219<strong>\u63d2\u5165\u70b9\u4e4b\u540e\u7684\u6240\u6709\u8fed\u4ee3\u5668<\/strong>\u4f1a\u5931\u6548\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5220\u9664\u5143\u7d20<\/strong>\uff1a<strong>\u88ab\u5220\u9664\u5143\u7d20\u53ca\u5176\u4e4b\u540e\u7684\u6240\u6709\u8fed\u4ee3\u5668<\/strong>\u90fd\u4f1a\u5931\u6548\u3002<\/li>\n\n\n\n<li><strong><code>resize()<\/code><\/strong>\uff1a\u5982\u679c\u65b0\u5927\u5c0f\u5927\u4e8e\u5bb9\u91cf\u5bfc\u81f4\u91cd\u65b0\u5206\u914d\uff0c\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548\u3002<\/li>\n\n\n\n<li><strong><code>reserve()<\/code><\/strong>\uff1a\u5982\u679c\u7533\u8bf7\u7684\u5bb9\u91cf\u5927\u4e8e\u5f53\u524d\u5bb9\u91cf\uff0c\u4f1a\u5bfc\u81f4\u91cd\u65b0\u5206\u914d\uff0c\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">107. map\u548cunordermap\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>map<\/code><\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>unordered_map<\/code><\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e95\u5c42\u5b9e\u73b0<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7ea2\u9ed1\u6811\uff08\u5e73\u8861\u4e8c\u53c9\u641c\u7d22\u6811\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u54c8\u5e0c\u8868<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5143\u7d20\u987a\u5e8f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6309\u952e\u7684<strong>\u5347\u5e8f<\/strong>\u6392\u5217\uff08\u53ef\u81ea\u5b9a\u4e49\u6bd4\u8f83\u51fd\u6570\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u65e0\u5e8f<\/strong>\uff08\u53d6\u51b3\u4e8e\u54c8\u5e0c\u51fd\u6570\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u67e5\u627e\u6548\u7387<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(log n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e73\u5747 O(1)\uff0c\u6700\u574f O(n)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u63d2\u5165\/\u5220\u9664\u6548\u7387<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(log n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e73\u5747 O(1)\uff0c\u6700\u574f O(n)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u662f\u5426\u9700\u8981\u54c8\u5e0c\u51fd\u6570<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5426\uff0c\u9700\u8981\u6bd4\u8f83\u51fd\u6570 (<code>operator&lt;<\/code> \u6216\u81ea\u5b9a\u4e49)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u662f\uff0c\u9700\u8981 <code>std::hash<\/code> \u548c <code>operator==<\/code><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fed\u4ee3\u5668\u7a33\u5b9a\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d2\u5165\/\u5220\u9664\u4e0d\u4f1a\u4f7f\u8fed\u4ee3\u5668\u5931\u6548\uff08\u9664\u88ab\u5220\u9664\u5143\u7d20\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d2\u5165\u53ef\u80fd\u5bfc\u81f4 rehash\uff0c\u4f7f\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u4f7f\u7528<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u5e38\u8f83\u5c11\uff08\u6811\u7ed3\u6784\u5f00\u9500\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u5e38\u8f83\u591a\uff08\u9700\u8981\u7ef4\u62a4\u6876\u548c\u53ef\u80fd\u7684\u7a7a\u4f4d\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u6709\u5e8f\u904d\u5386\u3001\u952e\u6bd4\u8f83\u590d\u6742\u6216\u54c8\u5e0c\u6210\u672c\u9ad8<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u6781\u5feb\u67e5\u627e\u901f\u5ea6\uff0c\u4e14\u4e0d\u5173\u5fc3\u987a\u5e8f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">108. stl\u4e2d\u7684unordered_map\u548cunordered_set\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>unordered_map<\/code><\/strong>\uff1a\u5b58\u50a8\u7684\u662f <strong>\u952e\u503c\u5bf9<\/strong> (<code>std::pair&lt;const Key, Value><\/code>)\u3002\u901a\u8fc7\u952e\u6765\u5feb\u901f\u67e5\u627e\u5bf9\u5e94\u7684\u503c\u3002\u952e\u662f\u552f\u4e00\u7684\u3002<\/li>\n\n\n\n<li><strong><code>unordered_set<\/code><\/strong>\uff1a\u53ea\u5b58\u50a8 <strong>\u952e<\/strong> (<code>Key<\/code>)\u3002\u7528\u4e8e\u5feb\u901f\u5224\u65ad\u4e00\u4e2a\u952e\u662f\u5426\u5b58\u5728\u3002\u952e\u662f\u552f\u4e00\u7684\u3002<\/li>\n\n\n\n<li><strong>\u5e95\u5c42\u5b9e\u73b0<\/strong>\uff1a\u4e24\u8005\u90fd\u662f\u57fa\u4e8e\u54c8\u5e0c\u8868\uff0c\u5b9e\u73b0\u539f\u7406\u975e\u5e38\u76f8\u4f3c\u3002<code>unordered_set<\/code> \u53ef\u4ee5\u770b\u4f5c\u662f <code>unordered_map<\/code> \u7684\u4e00\u79cd\u7279\u4f8b\uff08\u53ea\u6709 key\uff0c\u6ca1\u6709 value\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">109. \u81ea\u5df1\u5b9e\u73b0unordered_map\u7684\u8bdd\uff0c\u4f60\u4f1a\u8003\u8651\u5230\u4ec0\u4e48\u95ee\u9898\u5462<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684 <code>unordered_map<\/code> \u9700\u8981\u8003\u8651\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u54c8\u5e0c\u51fd\u6570<\/strong>\uff1a\u8bbe\u8ba1\u4e00\u4e2a\u826f\u597d\u7684\u3001\u5206\u5e03\u5747\u5300\u7684\u54c8\u5e0c\u51fd\u6570\uff0c\u51cf\u5c11\u51b2\u7a81\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u54c8\u5e0c\u51b2\u7a81<\/strong>\uff1a\u91c7\u7528\u94fe\u5730\u5740\u6cd5\uff08\u6bcf\u4e2a\u6876\u4e00\u4e2a\u94fe\u8868\uff09\u8fd8\u662f\u5f00\u653e\u5b9a\u5740\u6cd5\u3002<\/li>\n\n\n\n<li><strong>\u6876\u6570\u7ec4\u7684\u7ba1\u7406<\/strong>\uff1a\u52a8\u6001\u6269\u5bb9\uff08rehash\uff09\u7684\u65f6\u673a\uff08\u88c5\u8f7d\u56e0\u5b50\uff09\u548c\u7b56\u7565\uff08\u65b0\u6876\u6570\u7ec4\u7684\u5927\u5c0f\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8fed\u4ee3\u5668\u7684\u5b9e\u73b0<\/strong>\uff1a\u9700\u8981\u80fd\u591f\u904d\u5386\u6240\u6709\u6876\u4e2d\u7684\u6240\u6709\u5143\u7d20\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd<\/strong>\uff1a\u4fdd\u8bc1\u5e73\u5747 O(1) \u7684\u67e5\u627e\u3001\u63d2\u5165\u3001\u5220\u9664\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5b89\u5168<\/strong>\uff1a\u4fdd\u8bc1\u5728\u5f02\u5e38\u53d1\u751f\u65f6\u5bb9\u5668\u5904\u4e8e\u4e00\u81f4\u72b6\u6001\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u7ba1\u7406<\/strong>\uff1a\u9ad8\u6548\u5730\u5206\u914d\u548c\u91ca\u653e\u8282\u70b9\u5185\u5b58\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">110. clear\u548cerase\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>clear()<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u529f\u80fd<\/strong>\uff1a\u79fb\u9664\u5bb9\u5668\u4e2d\u7684<strong>\u6240\u6709<\/strong>\u5143\u7d20\u3002<\/li>\n\n\n\n<li><strong>\u6548\u679c<\/strong>\uff1a\u5bb9\u5668\u7684\u5927\u5c0f <code>size()<\/code> \u53d8\u4e3a 0\u3002\u5bf9\u4e8e\u987a\u5e8f\u5bb9\u5668\uff0c\u4f1a\u8c03\u7528\u6bcf\u4e2a\u5143\u7d20\u7684\u6790\u6784\u51fd\u6570\u3002<strong>\u4e0d\u4fdd\u8bc1\u91ca\u653e\u5bb9\u91cf<\/strong>\uff08<code>capacity()<\/code> \u53ef\u80fd\u4e0d\u53d8\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>erase()<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u529f\u80fd<\/strong>\uff1a\u79fb\u9664\u5bb9\u5668\u4e2d<strong>\u4e00\u4e2a<\/strong>\u6216<strong>\u4e00\u6bb5<\/strong>\u5143\u7d20\u3002<\/li>\n\n\n\n<li><strong>\u53c2\u6570<\/strong>\uff1a\u63a5\u53d7\u8fed\u4ee3\u5668\u6216\u8fed\u4ee3\u5668\u8303\u56f4\u3002<\/li>\n\n\n\n<li><strong>\u6548\u679c<\/strong>\uff1a\u79fb\u9664\u6307\u5b9a\u5143\u7d20\uff0c\u5bb9\u5668\u5927\u5c0f\u51cf\u5c0f\u3002\u8fd4\u56de\u6307\u5411\u88ab\u5220\u9664\u5143\u7d20\u4e4b\u540e\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u603b\u7ed3<\/strong>\uff1a<code>clear()<\/code> \u662f\u6279\u91cf <code>erase()<\/code> \u6240\u6709\u5143\u7d20\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">111. \u8fed\u4ee3\u5668\u5931\u6548\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fed\u4ee3\u5668\u5931\u6548\u662f\u6307\u5f53\u5bb9\u5668\u53d1\u751f\u67d0\u4e9b\u64cd\u4f5c\uff08\u5982\u63d2\u5165\u3001\u5220\u9664\u3001\u6269\u5bb9\uff09\u540e\uff0c\u539f\u672c\u6307\u5411\u5bb9\u5668\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u53d8\u5f97\u65e0\u6548\uff0c\u4e0d\u80fd\u518d\u4f7f\u7528\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e0d\u540c\u5bb9\u5668\u7684\u5931\u6548\u89c4\u5219\u4e0d\u540c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong><code>vector<\/code>\/<code>string<\/code><\/strong>\uff1a\u63d2\u5165\/\u5220\u9664\u53ef\u80fd\u5bfc\u81f4\u8fed\u4ee3\u5668\u5931\u6548\uff08\u7279\u522b\u662f\u5f15\u8d77\u91cd\u65b0\u5206\u914d\u65f6\uff09\u3002<\/li>\n\n\n\n<li><strong><code>deque<\/code><\/strong>\uff1a\u5728\u9996\u5c3e\u63d2\u5165\u53ea\u4f1a\u4f7f\u90e8\u5206\u8fed\u4ee3\u5668\u5931\u6548\uff0c\u5728\u4e2d\u95f4\u63d2\u5165\/\u5220\u9664\u4f1a\u4f7f\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548\u3002<\/li>\n\n\n\n<li><strong><code>list<\/code>\/<code>forward_list<\/code><\/strong>\uff1a\u63d2\u5165\u4e0d\u4f1a\u4f7f\u8fed\u4ee3\u5668\u5931\u6548\uff0c\u5220\u9664\u53ea\u4f1a\u4f7f\u6307\u5411\u88ab\u5220\u9664\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u5931\u6548\u3002<\/li>\n\n\n\n<li><strong>\u5173\u8054\u5bb9\u5668\uff08<code>map<\/code>, <code>set<\/code>\u7b49\uff09<\/strong>\uff1a\u63d2\u5165\u4e0d\u4f1a\u4f7f\u8fed\u4ee3\u5668\u5931\u6548\uff0c\u5220\u9664\u53ea\u4f1a\u4f7f\u6307\u5411\u88ab\u5220\u9664\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u5931\u6548\u3002<\/li>\n\n\n\n<li><strong>\u65e0\u5e8f\u5bb9\u5668\uff08<code>unordered_map<\/code>\u7b49\uff09<\/strong>\uff1a\u63d2\u5165\u53ef\u80fd\u5bfc\u81f4 rehash\uff0c\u4f7f\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548\uff1b\u5220\u9664\u53ea\u4f1a\u4f7f\u6307\u5411\u88ab\u5220\u9664\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u5931\u6548\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">112. swap\u51fd\u6570\u7684\u4f5c\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5bf9\u4e8e\u5bb9\u5668<\/strong>\uff1a<code>std::swap(container1, container2)<\/code> \u6216 <code>container1.swap(container2)<\/code> \u4f1a<strong>\u4ea4\u6362\u4e24\u4e2a\u5bb9\u5668\u7684\u5185\u5bb9<\/strong>\u3002\u8fd9\u4e2a\u64cd\u4f5c\u901a\u5e38\u975e\u5e38\u5feb\uff0c\u56e0\u4e3a\u5b83\u53ea\u4ea4\u6362\u5185\u90e8\u6307\u9488\u7b49\u63a7\u5236\u4fe1\u606f\uff0c\u800c\u4e0d\u662f\u9010\u4e2a\u5143\u7d20\u62f7\u8d1d\u3002\u5e38\u7528\u4e8e\u91ca\u653e <code>vector<\/code> \u7684\u5185\u5b58\uff08<code>vector&lt;T>().swap(v)<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u901a\u7528\u4f5c\u7528<\/strong>\uff1a\u4ea4\u6362\u4e24\u4e2a\u53d8\u91cf\u7684\u503c\u3002\u5bf9\u4e8e\u81ea\u5b9a\u4e49\u7c7b\u578b\uff0c\u5e94\u63d0\u4f9b <code>swap<\/code> \u7684\u7279\u5316\u7248\u672c\u6216\u6210\u5458\u51fd\u6570\u4ee5\u5b9e\u73b0\u9ad8\u6548\u4ea4\u6362\uff08\u5982 <code>using std::swap; swap(a, b);<\/code>\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">113. \u7b80\u5355\u53d9\u8ff0\u4e00\u4e0bSTL\u5bb9\u5668\u76f8\u5173\u77e5\u8bc6\uff0c\u7279\u5f81\u7b49<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> STL\u5bb9\u5668\u662f\u7528\u4e8e\u5b58\u50a8\u6570\u636e\u7684\u901a\u7528\u6570\u636e\u7ed3\u6784\uff0c\u5206\u4e3a\u4ee5\u4e0b\u51e0\u7c7b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5e8f\u5217\u5f0f\u5bb9\u5668<\/strong>\uff1a\u5143\u7d20\u6309\u7ebf\u6027\u987a\u5e8f\u6392\u5217\u3002\n<ul class=\"wp-block-list\">\n<li><code>array<\/code>\uff1a\u56fa\u5b9a\u5927\u5c0f\u6570\u7ec4\u3002<\/li>\n\n\n\n<li><code>vector<\/code>\uff1a\u52a8\u6001\u6570\u7ec4\uff0c\u5c3e\u90e8\u64cd\u4f5c\u5feb\u3002<\/li>\n\n\n\n<li><code>deque<\/code>\uff1a\u53cc\u7aef\u961f\u5217\uff0c\u5934\u5c3e\u64cd\u4f5c\u90fd\u5feb\u3002<\/li>\n\n\n\n<li><code>list<\/code>\uff1a\u53cc\u5411\u94fe\u8868\uff0c\u4efb\u610f\u4f4d\u7f6e\u63d2\u5165\u5220\u9664\u5feb\u3002<\/li>\n\n\n\n<li><code>forward_list<\/code>\uff1a\u5355\u5411\u94fe\u8868\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u8054\u5f0f\u5bb9\u5668<\/strong>\uff1a\u5143\u7d20\u6309\u5173\u952e\u5b57\u6392\u5e8f\uff0c\u67e5\u627e\u5feb\u3002\n<ul class=\"wp-block-list\">\n<li><code>set<\/code>\/<code>multiset<\/code>\uff1a\u5173\u952e\u5b57\u5373\u503c\uff0c<code>set<\/code>\u5173\u952e\u5b57\u552f\u4e00\u3002<\/li>\n\n\n\n<li><code>map<\/code>\/<code>multimap<\/code>\uff1a\u5b58\u50a8\u952e\u503c\u5bf9\uff0c<code>map<\/code>\u952e\u552f\u4e00\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u65e0\u5e8f\u5173\u8054\u5bb9\u5668<\/strong>\uff1a\u5143\u7d20\u65e0\u5e8f\uff0c\u901a\u8fc7\u54c8\u5e0c\u5b58\u50a8\uff0c\u67e5\u627e\u975e\u5e38\u5feb\u3002\n<ul class=\"wp-block-list\">\n<li><code>unordered_set<\/code>\/<code>unordered_multiset<\/code><\/li>\n\n\n\n<li><code>unordered_map<\/code>\/<code>unordered_multimap<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5bb9\u5668\u9002\u914d\u5668<\/strong>\uff1a\u57fa\u4e8e\u5176\u4ed6\u5bb9\u5668\u5b9e\u73b0\u7684\u63a5\u53e3\u3002\n<ul class=\"wp-block-list\">\n<li><code>stack<\/code>\uff1a\u6808\uff0cLIFO\u3002<\/li>\n\n\n\n<li><code>queue<\/code>\uff1a\u961f\u5217\uff0cFIFO\u3002<\/li>\n\n\n\n<li><code>priority_queue<\/code>\uff1a\u4f18\u5148\u961f\u5217\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">114. stl\u5f53\u4e2dvector\uff0clist\uff0cmap\u5728\u5185\u5b58\u4e2d\u7684\u6570\u636e\u7ed3\u6784\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>vector<\/code><\/strong>\uff1a<strong>\u8fde\u7eed\u5185\u5b58\u6570\u7ec4<\/strong>\u3002\u5143\u7d20\u5728\u5185\u5b58\u4e2d\u8fde\u7eed\u5b58\u50a8\uff0c\u652f\u6301\u968f\u673a\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li><strong><code>list<\/code><\/strong>\uff1a<strong>\u53cc\u5411\u94fe\u8868<\/strong>\u3002\u6bcf\u4e2a\u5143\u7d20\u5b58\u50a8\u5728\u72ec\u7acb\u7684\u8282\u70b9\u4e2d\uff0c\u8282\u70b9\u5305\u542b\u6307\u5411\u524d\u540e\u8282\u70b9\u7684\u6307\u9488\u3002\u5185\u5b58\u4e0d\u8fde\u7eed\u3002<\/li>\n\n\n\n<li><strong><code>map<\/code><\/strong>\uff1a<strong>\u7ea2\u9ed1\u6811<\/strong>\u3002\u4e00\u79cd\u81ea\u5e73\u8861\u7684\u4e8c\u53c9\u641c\u7d22\u6811\u3002\u6bcf\u4e2a\u8282\u70b9\u5b58\u50a8\u952e\u503c\u5bf9\uff0c\u5e76\u5305\u542b\u989c\u8272\u6807\u8bb0\u548c\u6307\u5411\u5b50\u8282\u70b9\u7684\u6307\u9488\u3002\u5185\u5b58\u4e0d\u8fde\u7eed\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">115. erase\u7684\u8fd4\u56de\u503c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e<strong>\u987a\u5e8f\u5bb9\u5668<\/strong>\uff08<code>vector<\/code>, <code>deque<\/code>, <code>list<\/code>, <code>string<\/code>\uff09\uff0c<code>erase<\/code> \u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u8fed\u4ee3\u5668\uff0c\u8be5\u8fed\u4ee3\u5668\u6307\u5411<strong>\u88ab\u5220\u9664\u5143\u7d20\u7684\u4e0b\u4e00\u4e2a\u5143\u7d20<\/strong>\u3002\u8fd9\u5728\u5faa\u73af\u4e2d\u5220\u9664\u5143\u7d20\u65f6\u975e\u5e38\u6709\u7528\uff0c\u53ef\u4ee5\u907f\u514d\u8fed\u4ee3\u5668\u5931\u6548\u3002cpp\u590d\u5236\u4e0b\u8f7dfor (auto it = vec.begin(); it != vec.end(); ) { if (condition) { it = vec.erase(it); \/\/ \u7528\u8fd4\u56de\u503c\u66f4\u65b0it } else { ++it; } }<\/li>\n\n\n\n<li>\u5bf9\u4e8e<strong>\u5173\u8054\u5bb9\u5668<\/strong>\uff08<code>map<\/code>, <code>set<\/code> \u7b49\uff09\uff0c<code>erase<\/code> \u7684\u8fd4\u56de\u503c\u5728 C++11 \u4e4b\u524d\u662f <code>void<\/code>\uff0c\u5728 C++11 \u4e4b\u540e\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63a5\u53d7\u8fed\u4ee3\u5668\u53c2\u6570\u7684\u7248\u672c\u8fd4\u56de\u6307\u5411\u4e0b\u4e00\u4e2a\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u3002<\/li>\n\n\n\n<li>\u63a5\u53d7\u952e\u503c\u7684\u7248\u672c\u8fd4\u56de\u5220\u9664\u7684\u5143\u7d20\u4e2a\u6570\uff080\u62161\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">116. \u9759\u6001\u53d8\u91cf\u548c\u5168\u5c40\u53d8\u91cf\uff0c\u5c40\u90e8\u53d8\u91cf\u7684\u533a\u522b\uff0c\u5728\u5185\u5b58\u4e0a\u662f\u600e\u4e48\u5206\u5e03\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u53d8\u91cf\u7c7b\u578b<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f5c\u7528\u57df<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u751f\u547d\u5468\u671f<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u5206\u5e03<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u521d\u59cb\u5316<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5c40\u90e8\u53d8\u91cf<\/strong>\uff08\u975estatic\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51fd\u6570\/\u5757\u5185\u90e8<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51fd\u6570\/\u5757\u6267\u884c\u671f\u95f4<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6808\u533a<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u81ea\u52a8\u521d\u59cb\u5316\uff08\u5783\u573e\u503c\uff09\u6216\u663e\u5f0f\u521d\u59cb\u5316<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9759\u6001\u5c40\u90e8\u53d8\u91cf<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51fd\u6570\/\u5757\u5185\u90e8<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6574\u4e2a\u7a0b\u5e8f\u8fd0\u884c\u671f<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5168\u5c40\/\u9759\u6001\u5b58\u50a8\u533a<\/strong>\uff08<code>.data<\/code> \u6216 <code>.bss<\/code>\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7b2c\u4e00\u6b21\u6267\u884c\u5230\u58f0\u660e\u65f6\u521d\u59cb\u5316<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5168\u5c40\u53d8\u91cf<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u5b9a\u4e49\u5904\u5230\u6587\u4ef6\u5c3e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6574\u4e2a\u7a0b\u5e8f\u8fd0\u884c\u671f<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5168\u5c40\/\u9759\u6001\u5b58\u50a8\u533a<\/strong>\uff08<code>.data<\/code> \u6216 <code>.bss<\/code>\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7a0b\u5e8f\u542f\u52a8\u65f6\u521d\u59cb\u5316\uff08\u5728 <code>main<\/code> \u4e4b\u524d\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9759\u6001\u5168\u5c40\u53d8\u91cf<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5f53\u524d\u6587\u4ef6\u5185\u90e8<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6574\u4e2a\u7a0b\u5e8f\u8fd0\u884c\u671f<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5168\u5c40\/\u9759\u6001\u5b58\u50a8\u533a<\/strong>\uff08<code>.data<\/code> \u6216 <code>.bss<\/code>\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7a0b\u5e8f\u542f\u52a8\u65f6\u521d\u59cb\u5316<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>.data<\/code> \u6bb5<\/strong>\uff1a\u5b58\u653e\u5df2\u521d\u59cb\u5316\u7684\u5168\u5c40\/\u9759\u6001\u53d8\u91cf\u3002<\/li>\n\n\n\n<li><strong><code>.bss<\/code> \u6bb5<\/strong>\uff1a\u5b58\u653e\u672a\u521d\u59cb\u5316\u7684\u5168\u5c40\/\u9759\u6001\u53d8\u91cf\uff0c\u7a0b\u5e8f\u5f00\u59cb\u65f6\u88ab\u521d\u59cb\u5316\u4e3a0\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">117. delete\u548cfree\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bed\u8a00<\/strong>\uff1a<code>delete<\/code> \u662f C++ \u8fd0\u7b97\u7b26\uff1b<code>free<\/code> \u662f C \u8bed\u8a00\u5e93\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u6784\u9020\u4e0e\u6790\u6784<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>delete<\/code> \u4f1a\u5148\u8c03\u7528\u5bf9\u8c61\u7684<strong>\u6790\u6784\u51fd\u6570<\/strong>\uff0c\u518d\u91ca\u653e\u5185\u5b58\u3002<\/li>\n\n\n\n<li><code>free<\/code> \u53ea\u91ca\u653e\u5185\u5b58\uff0c<strong>\u4e0d\u4f1a\u8c03\u7528\u6790\u6784\u51fd\u6570<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u91cd\u8f7d<\/strong>\uff1a<code>operator delete<\/code> \u53ef\u4ee5\u88ab\u91cd\u8f7d\uff1b<code>free<\/code> \u4e0d\u80fd\u91cd\u8f7d\u3002<\/li>\n\n\n\n<li><strong>\u914d\u5bf9\u4f7f\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>new<\/code> \u5206\u914d\u7684\u5185\u5b58\u5fc5\u987b\u7528 <code>delete<\/code> \u91ca\u653e\u3002<\/li>\n\n\n\n<li><code>malloc<\/code> \u5206\u914d\u7684\u5185\u5b58\u5fc5\u987b\u7528 <code>free<\/code> \u91ca\u653e\u3002<\/li>\n\n\n\n<li><strong>\u6df7\u7528\u4f1a\u5bfc\u81f4\u672a\u5b9a\u4e49\u884c\u4e3a<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">118. \u4ec0\u4e48\u662f\u5185\u5b58\u6cc4\u9732\uff0c\u5982\u4f55\u68c0\u6d4b\u548c\u9632\u6b62<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u7a0b\u5e8f\u5728\u52a8\u6001\u5206\u914d\u5185\u5b58\u540e\uff0c\u5931\u53bb\u4e86\u5bf9\u8be5\u5185\u5b58\u7684\u63a7\u5236\uff08\u5373\u6ca1\u6709\u6307\u9488\u6307\u5411\u5b83\uff09\uff0c\u4ece\u800c\u65e0\u6cd5\u5c06\u5176\u5f52\u8fd8\u7ed9\u7cfb\u7edf\uff0c\u5bfc\u81f4\u8be5\u5185\u5b58\u5757\u65e0\u6cd5\u518d\u88ab\u4f7f\u7528\u3002<\/li>\n\n\n\n<li><strong>\u68c0\u6d4b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4ee3\u7801\u5ba1\u67e5<\/strong>\uff1a\u4ed4\u7ec6\u68c0\u67e5 <code>new\/delete<\/code>, <code>malloc\/free<\/code> \u662f\u5426\u6210\u5bf9\u51fa\u73b0\u3002<\/li>\n\n\n\n<li><strong>\u5de5\u5177<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>Valgrind<\/strong>\uff08Linux\uff09\uff1a\u5f3a\u5927\u7684\u5185\u5b58\u8c03\u8bd5\u5de5\u5177\u3002<\/li>\n\n\n\n<li><strong>AddressSanitizer<\/strong>\uff08GCC\/Clang\uff09\uff1a\u7f16\u8bd1\u65f6\u63d2\u6869\uff0c\u8fd0\u884c\u65f6\u68c0\u6d4b\u3002<\/li>\n\n\n\n<li><strong>Visual Studio Diagnostic Tools<\/strong>\uff08Windows\uff09\uff1a\u5185\u7f6e\u8c03\u8bd5\u5668\u4e2d\u7684\u5185\u5b58 profiling \u529f\u80fd\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u9632\u6b62<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528 RAII<\/strong>\uff1a\u5229\u7528\u6808\u5bf9\u8c61\u7684\u751f\u547d\u5468\u671f\u81ea\u52a8\u7ba1\u7406\u8d44\u6e90\u3002\u8fd9\u662f C++ \u7684\u6838\u5fc3\u601d\u60f3\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u667a\u80fd\u6307\u9488<\/strong>\uff1a<code>unique_ptr<\/code>, <code>shared_ptr<\/code> \u7b49\uff0c\u81ea\u52a8\u7ba1\u7406\u5185\u5b58\u91ca\u653e\u3002<\/li>\n\n\n\n<li><strong>\u9075\u5faa\u8c01\u7533\u8bf7\u8c01\u91ca\u653e\u7684\u539f\u5219<\/strong>\uff0c\u5e76\u786e\u4fdd\u5728\u6240\u6709\u7684\u9000\u51fa\u8def\u5f84\uff08\u5305\u62ec\u5f02\u5e38\uff09\u4e0a\u90fd\u80fd\u6b63\u786e\u91ca\u653e\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">119. \u4ec0\u4e48\u64cd\u4f5c\u4f1a\u5bfc\u81f4\u5185\u5b58\u6cc4\u9732<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u76f4\u63a5\u539f\u56e0<\/strong>\uff1a\u5206\u914d\u4e86\u5185\u5b58\uff08<code>new<\/code>, <code>malloc<\/code>\uff09\uff0c\u4f46\u6ca1\u6709\u91ca\u653e\uff08<code>delete<\/code>, <code>free<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5e38\u89c1\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6307\u9488\u88ab\u91cd\u65b0\u8d4b\u503c<\/strong>\uff1a<code>ptr = new int; ptr = new int;<\/code> \uff08\u7b2c\u4e00\u4e2a <code>new<\/code> \u7684\u5185\u5b58\u4e22\u5931\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5bfc\u81f4\u63d0\u524d\u9000\u51fa<\/strong>\uff1a\u5728 <code>new<\/code> \u548c <code>delete<\/code> \u4e4b\u95f4\u629b\u51fa\u5f02\u5e38\uff0c<code>delete<\/code> \u672a\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u5bb9\u5668\u4e2d\u7684\u6307\u9488<\/strong>\uff1a\u5bb9\u5668\uff08\u5982 <code>vector&lt;MyClass*><\/code>\uff09\u9500\u6bc1\u65f6\uff0c\u4e0d\u4f1a\u81ea\u52a8\u5220\u9664\u5176\u5143\u7d20\u6307\u5411\u7684\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u5faa\u73af\u5f15\u7528<\/strong>\uff1a\u4f7f\u7528 <code>shared_ptr<\/code> \u65f6\uff0c\u4e24\u4e2a\u5bf9\u8c61\u4e92\u76f8\u6301\u6709\u5bf9\u65b9\u7684 <code>shared_ptr<\/code>\uff0c\u5bfc\u81f4\u5f15\u7528\u8ba1\u6570\u6c38\u4e0d\u4e3a0\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">120. \u4ec0\u4e48\u662f\u91ce\u6307\u9488\uff0c\u4ec0\u4e48\u60c5\u51b5\u4e0b\u4f1a\u4ea7\u751f\u91ce\u6307\u9488<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u6307\u5411&#8221;\u5783\u573e&#8221;\u5185\u5b58\u6216\u5df2\u91ca\u653e\u5185\u5b58\u7684\u6307\u9488\u3002\u5bf9\u5176\u89e3\u5f15\u7528\u4f1a\u5bfc\u81f4<strong>\u672a\u5b9a\u4e49\u884c\u4e3a<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4ea7\u751f\u60c5\u51b5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6307\u9488\u672a\u521d\u59cb\u5316<\/strong>\uff1a<code>int* p;<\/code> <code>*p = 5;<\/code> \/\/ p \u7684\u503c\u662f\u968f\u673a\u7684\u3002<\/li>\n\n\n\n<li><strong>\u6307\u9488\u88ab\u91ca\u653e\u540e\u672a\u7f6e\u7a7a<\/strong>\uff1a<code>delete p;<\/code> \u4e4b\u540e\uff0c<code>p<\/code> \u4ecd\u7136\u6307\u5411\u539f\u6765\u7684\u5730\u5740\uff0c\u4f46\u8be5\u5185\u5b58\u53ef\u80fd\u5df2\u88ab\u7cfb\u7edf\u56de\u6536\u6216\u53e6\u4f5c\u4ed6\u7528\u3002<\/li>\n\n\n\n<li><strong>\u6307\u9488\u64cd\u4f5c\u8d8a\u754c<\/strong>\uff1a\u5bf9\u6570\u7ec4\u8fdb\u884c\u64cd\u4f5c\u65f6\uff0c\u6307\u9488\u79fb\u52a8\u5230\u6570\u7ec4\u8303\u56f4\u4e4b\u5916\u3002<\/li>\n\n\n\n<li><strong>\u8fd4\u56de\u5c40\u90e8\u53d8\u91cf\u7684\u5730\u5740<\/strong>\uff1a\u51fd\u6570\u8fd4\u56de\u540e\uff0c\u5c40\u90e8\u53d8\u91cf\u88ab\u9500\u6bc1\uff0c\u8fd4\u56de\u7684\u6307\u9488\u6210\u4e3a\u91ce\u6307\u9488\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">121. \u5982\u4f55\u907f\u514d\u91ce\u6307\u9488<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u521d\u59cb\u5316\u65f6\u7f6e\u7a7a<\/strong>\uff1a<code>int* p = nullptr;<\/code><\/li>\n\n\n\n<li><strong>\u91ca\u653e\u540e\u7acb\u5373\u7f6e\u7a7a<\/strong>\uff1a<code>delete p; p = nullptr;<\/code><\/li>\n\n\n\n<li><strong>\u6ce8\u610f\u53d8\u91cf\u7684\u4f5c\u7528\u57df\u548c\u751f\u547d\u5468\u671f<\/strong>\uff0c\u4e0d\u8981\u8fd4\u56de\u6307\u5411\u5c40\u90e8\u53d8\u91cf\u7684\u6307\u9488\u6216\u5f15\u7528\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u667a\u80fd\u6307\u9488<\/strong>\uff1a\u667a\u80fd\u6307\u9488\u5728\u6790\u6784\u65f6\u4f1a\u81ea\u52a8\u91ca\u653e\u5185\u5b58\uff0c\u5e76\u5728\u91ca\u653e\u540e\u7ba1\u7406\u597d\u5185\u90e8\u6307\u9488\u72b6\u6001\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">122. \u7ed3\u6784\u4f53\u548c\u7c7b\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728 C++ \u4e2d\uff0c<code>struct<\/code> \u548c <code>class<\/code> \u7684\u552f\u4e00\u533a\u522b\u662f<strong>\u9ed8\u8ba4\u7684\u6210\u5458\u8bbf\u95ee\u6743\u9650<\/strong>\u548c<strong>\u9ed8\u8ba4\u7684\u7ee7\u627f\u65b9\u5f0f<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>struct<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9ed8\u8ba4\u6210\u5458\u8bbf\u95ee\u6743\u9650\u662f<strong>public<\/strong>\u3002<\/li>\n\n\n\n<li>\u9ed8\u8ba4\u7ee7\u627f\u65b9\u5f0f\u662f<strong>public\u7ee7\u627f<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>class<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9ed8\u8ba4\u6210\u5458\u8bbf\u95ee\u6743\u9650\u662f<strong>private<\/strong>\u3002<\/li>\n\n\n\n<li>\u9ed8\u8ba4\u7ee7\u627f\u65b9\u5f0f\u662f<strong>private\u7ee7\u627f<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e60\u60ef\u7528\u6cd5<\/strong>\uff1a<code>struct<\/code> \u901a\u5e38\u7528\u4e8e\u8868\u793a\u7eaf\u7cb9\u7684\u6570\u636e\u7ed3\u6784\uff08POD, Plain Old Data\uff09\uff0c\u800c <code>class<\/code> \u7528\u4e8e\u8868\u793a\u5177\u6709\u6570\u636e\u548c\u884c\u4e3a\u7684\u5bf9\u8c61\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">123. \u6808\u548c\u5806\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u6808<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u5806<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7ba1\u7406\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u5668\u81ea\u52a8\u7ba1\u7406<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7a0b\u5e8f\u5458\u624b\u52a8\u7ba1\u7406\uff08<code>new\/delete<\/code>, <code>malloc\/free<\/code>\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5206\u914d\/\u91ca\u653e\u6548\u7387<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9ad8\uff08\u79fb\u52a8\u6808\u6307\u9488\u5373\u53ef\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f4e\uff08\u9700\u8981\u5bfb\u627e\u5408\u9002\u7684\u5185\u5b58\u5757\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7a7a\u95f4\u5927\u5c0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u5c0f\uff08\u901a\u5e38\u51e0MB\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u5927\uff08\u53d7\u9650\u4e8e\u7cfb\u7edf\u865a\u62df\u5185\u5b58\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u788e\u7247<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\uff08\u5916\u90e8\u788e\u7247\u548c\u5185\u90e8\u788e\u7247\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u751f\u957f\u65b9\u5411<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u5e38\u5411\u4e0b\uff08\u5411\u4f4e\u5730\u5740\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5411\u4e0a\uff08\u5411\u9ad8\u5730\u5740\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5206\u914d\u5185\u5bb9<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5c40\u90e8\u53d8\u91cf\u3001\u51fd\u6570\u53c2\u6570\u7b49<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u52a8\u6001\u5206\u914d\u7684\u5bf9\u8c61<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u751f\u547d\u5468\u671f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51fd\u6570\/\u5757\u6267\u884c\u671f\u95f4<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7531\u7a0b\u5e8f\u5458\u63a7\u5236\uff08\u4ece <code>new<\/code> \u5230 <code>delete<\/code>\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">124. \u79fb\u52a8\u8bed\u4e49\u6709\u4ec0\u4e48\u4f5c\u7528\uff0c\u539f\u7406\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u907f\u514d\u4e0d\u5fc5\u8981\u7684\u6df1\u62f7\u8d1d\uff0c\u63d0\u5347\u6027\u80fd\u3002\u7279\u522b\u662f\u5f53\u6e90\u5bf9\u8c61\u662f\u4e34\u65f6\u5bf9\u8c61\uff08\u53f3\u503c\uff09\u65f6\uff0c\u76f4\u63a5&#8221;\u5077&#8221;\u8d70\u5176\u8d44\u6e90\uff0c\u800c\u4e0d\u662f\u8fdb\u884c\u6602\u8d35\u7684\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li><strong>\u539f\u7406<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u53f3\u503c\u5f15\u7528<\/strong>\uff1a\u901a\u8fc7 <code>&amp;&amp;<\/code> \u6765\u6807\u8bc6\uff0c\u53ef\u4ee5\u7ed1\u5b9a\u5230\u4e34\u65f6\u5bf9\u8c61\uff08\u53f3\u503c\uff09\u3002<\/li>\n\n\n\n<li><strong>\u79fb\u52a8\u6784\u9020\u51fd\u6570<\/strong>\u548c<strong>\u79fb\u52a8\u8d4b\u503c\u8fd0\u7b97\u7b26<\/strong>\uff1a\u53c2\u6570\u4e3a\u53f3\u503c\u5f15\u7528\u3002\u5728\u8fd9\u4e9b\u51fd\u6570\u4e2d\uff0c\u4e0d\u662f\u62f7\u8d1d\u6e90\u5bf9\u8c61\u7684\u8d44\u6e90\uff0c\u800c\u662f\u5c06\u6e90\u5bf9\u8c61\u7684\u6307\u9488\u7b49\u8d44\u6e90&#8221;\u8f6c\u79fb&#8221;\u7ed9\u65b0\u5bf9\u8c61\uff0c\u7136\u540e\u5c06\u6e90\u5bf9\u8c61\u7684\u6307\u9488\u7f6e\u4e3a <code>nullptr<\/code>\uff0c\u4f7f\u5176\u5904\u4e8e\u6709\u6548\u4f46\u53ef\u6790\u6784\u7684\u72b6\u6001\u3002cpp\u590d\u5236\u4e0b\u8f7dclass MyString { public: \/\/ \u79fb\u52a8\u6784\u9020\u51fd\u6570 MyString(MyString&amp;&amp; other) noexcept : m_data(other.m_data) { other.m_data = nullptr; \/\/ \u4f7f\u6e90\u5bf9\u8c61\u5904\u4e8e\u53ef\u6790\u6784\u72b6\u6001 } \/\/ \u79fb\u52a8\u8d4b\u503c\u8fd0\u7b97\u7b26 MyString&amp; operator=(MyString&amp;&amp; other) noexcept { if (this != &amp;other) { delete[] m_data; m_data = other.m_data; other.m_data = nullptr; } return *this; } };<\/li>\n\n\n\n<li><strong><code>std::move<\/code><\/strong>\uff1a\u5c06\u4e00\u4e2a\u5de6\u503c\u5f3a\u5236\u8f6c\u6362\u4e3a\u53f3\u503c\u5f15\u7528\uff0c\u8868\u793a&#8221;\u6211\u5141\u8bb8\u4f60\u79fb\u52a8\u6211\u7684\u8d44\u6e90&#8221;\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">125. \u5de6\u503c\u5f15\u7528\u548c\u53f3\u503c\u5f15\u7528\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u5de6\u503c\u5f15\u7528 (<code>T&amp;<\/code>)<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u53f3\u503c\u5f15\u7528 (<code>T&amp;&amp;<\/code>)<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7ed1\u5b9a\u5bf9\u8c61<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5de6\u503c\uff08\u6709\u6807\u8bc6\u7b26\u3001\u6709\u5730\u5740\u7684\u8868\u8fbe\u5f0f\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53f3\u503c\uff08\u4e34\u65f6\u5bf9\u8c61\uff0c\u5b57\u9762\u91cf\uff0c\u5c06\u4ea1\u503c\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u751f\u547d\u5468\u671f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5ef6\u957f\u4e34\u65f6\u5bf9\u8c61\u7684\u751f\u547d\u5468\u671f\uff08\u5f53\u7ed1\u5b9a\u5230\u5e38\u91cf\u5de6\u503c\u5f15\u7528 <code>const T&amp;<\/code> \u65f6\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u5ef6\u957f\uff0c\u901a\u5e38\u7528\u4e8e&#8221;\u63a0\u593a&#8221;\u8d44\u6e90<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4e3b\u8981\u7528\u9014<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51fd\u6570\u53c2\u6570\uff0c\u907f\u514d\u62f7\u8d1d\uff1b\u51fd\u6570\u8fd4\u56de\u503c\uff08\u5982 <code>ostream&amp;<\/code>\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b9e\u73b0\u79fb\u52a8\u8bed\u4e49\uff0c\u5b8c\u7f8e\u8f6c\u53d1<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f8b\u5b50<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>int a; int&amp; ref = a;<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>int&amp;&amp; rref = 10; MyString s2 = std::move(s1);<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">126. define\u548ctypeof\u7684\u533a\u522b\uff08\u5e94\u4e3a <code>typedef<\/code>\uff09<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>#define<\/code> \u662f\u9884\u5904\u7406\u6307\u4ee4\uff0c<code>typedef<\/code> \u662f C++ \u5173\u952e\u5b57\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>#define<\/code><\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>typedef<\/code><\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5904\u7406\u9636\u6bb5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9884\u5904\u7406\u671f\uff0c<strong>\u6587\u672c\u66ff\u6362<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u671f\uff0c<strong>\u7c7b\u578b\u522b\u540d\u58f0\u660e<\/strong><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f5c\u7528\u57df<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u5b9a\u4e49\u5904\u5f00\u59cb\uff0c\u4e0d\u53d7\u547d\u540d\u7a7a\u95f4\u3001\u7c7b\u4f5c\u7528\u57df\u9650\u5236<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9075\u5faa C++ \u7684\u4f5c\u7528\u57df\u89c4\u5219<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8c03\u8bd5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u66ff\u6362\u540e\u770b\u4e0d\u5230\u539f\u540d\uff0c\u96be\u4ee5\u8c03\u8bd5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u5668\u77e5\u9053\u662f\u522b\u540d\uff0c\u8c03\u8bd5\u4fe1\u606f\u6e05\u6670<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u529f\u80fd<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u5b9a\u4e49\u5e38\u91cf\u3001\u51fd\u6570\u3001\u4ee3\u7801\u7247\u6bb5\u7b49<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ea\u80fd\u4e3a\u7c7b\u578b\u521b\u5efa\u522b\u540d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f8b\u5b50<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>#define INT_PTR int*<\/code> <code>INT_PTR a, b;<\/code> (a\u662fint*, b\u662fint)<\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>typedef int* IntPtr;<\/code> <code>IntPtr a, b;<\/code> (a\u548cb\u90fd\u662fint*)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C++11 \u63a8\u8350<\/strong>\uff1a\u4f7f\u7528 <code>using<\/code> \u5173\u952e\u5b57\u8fdb\u884c\u7c7b\u578b\u522b\u540d\u5b9a\u4e49\uff0c\u529f\u80fd\u4e0e <code>typedef<\/code> \u76f8\u540c\u4f46\u66f4\u6e05\u6670\uff1a<code>using IntPtr = int*;<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">127. constexpr\u548cconst\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>const<\/code><\/strong>\uff1a\u4e3b\u8981\u8868\u793a&#8221;\u53ea\u8bfb&#8221;\u3002\u7528\u4e8e\u53d8\u91cf\u65f6\uff0c\u8868\u793a\u8be5\u53d8\u91cf\u7684\u503c\u5728\u521d\u59cb\u5316\u540e\u4e0d\u53ef\u4fee\u6539\u3002\u5b83\u53ef\u4ee5\u662f\u8fd0\u884c\u65f6\u5e38\u91cf\u3002<\/li>\n\n\n\n<li><strong><code>constexpr<\/code><\/strong>\uff1a\u4e3b\u8981\u8868\u793a&#8221;\u5e38\u91cf\u8868\u8fbe\u5f0f&#8221;\u3002\u7528\u4e8e\u544a\u8bc9\u7f16\u8bd1\u5668\uff0c\u8fd9\u4e2a\u53d8\u91cf\u6216\u51fd\u6570\u53ef\u4ee5\u5728<strong>\u7f16\u8bd1\u671f<\/strong>\u5c31\u8ba1\u7b97\u51fa\u7ed3\u679c\u3002\n<ul class=\"wp-block-list\">\n<li><strong><code>constexpr<\/code> \u53d8\u91cf<\/strong>\uff1a\u5176\u503c\u5fc5\u987b\u662f\u7f16\u8bd1\u65f6\u5e38\u91cf\u3002<\/li>\n\n\n\n<li><strong><code>constexpr<\/code> \u51fd\u6570<\/strong>\uff1a\u5982\u679c\u5176\u53c2\u6570\u662f\u7f16\u8bd1\u65f6\u5e38\u91cf\uff0c\u5219\u53ef\u4ee5\u5728\u7f16\u8bd1\u671f\u6c42\u503c\uff1b\u5426\u5219\u5728\u8fd0\u884c\u671f\u6c42\u503c\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u7cfb<\/strong>\uff1a\u6240\u6709 <code>constexpr<\/code> \u53d8\u91cf\u90fd\u662f <code>const<\/code> \u7684\uff0c\u4f46\u53cd\u4e4b\u4e0d\u6210\u7acb\u3002<code>constexpr<\/code> \u662f\u5bf9 <code>const<\/code> \u7684\u589e\u5f3a\uff0c\u8981\u6c42\u66f4\u4e25\u683c\uff08\u5fc5\u987b\u662f\u7f16\u8bd1\u65f6\u5e38\u91cf\uff09\uff0c\u4ece\u800c\u5141\u8bb8\u5728\u66f4\u591a\u4e0a\u4e0b\u6587\uff08\u5982\u6570\u7ec4\u5927\u5c0f\u3001\u6a21\u677f\u53c2\u6570\uff09\u4e2d\u4f7f\u7528\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">128. \u91ce\u6307\u9488\u548c\u60ac\u6d6e\u6307\u9488\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u4e24\u4e2a\u672f\u8bed\u7ecf\u5e38\u6df7\u7528\uff0c\u4f46\u7ec6\u5fae\u533a\u522b\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91ce\u6307\u9488<\/strong>\uff1a\u901a\u5e38\u6307<strong>\u672a\u521d\u59cb\u5316<\/strong>\u7684\u6307\u9488\uff0c\u5176\u503c\u662f\u968f\u673a\u7684\u3001\u4e0d\u786e\u5b9a\u7684\u3002<\/li>\n\n\n\n<li><strong>\u60ac\u6d6e\u6307\u9488<\/strong>\uff1a\u901a\u5e38\u6307\u6307\u9488\u6307\u5411\u7684<strong>\u5185\u5b58\u5df2\u7ecf\u88ab\u91ca\u653e<\/strong>\uff0c\u4f46\u6307\u9488\u672c\u8eab\u8fd8\u5728\u3002<\/li>\n\n\n\n<li><strong>\u5728\u5b9e\u8df5\u4e2d<\/strong>\uff0c\u4e24\u8005\u90fd\u6307\u5411\u65e0\u6548\u5185\u5b58\uff0c\u89e3\u5f15\u7528\u5b83\u4eec\u90fd\u662f<strong>\u672a\u5b9a\u4e49\u884c\u4e3a<\/strong>\u3002\u907f\u514d\u65b9\u6cd5\u4e5f\u7c7b\u4f3c\uff1a\u521d\u59cb\u5316\u7f6e\u7a7a\uff0c\u91ca\u653e\u540e\u7f6e\u7a7a\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">129. \u5185\u5b58\u5bf9\u9f50\u662f\u4ec0\u4e48\uff0c\u4e3a\u4ec0\u4e48\u9700\u8981\u8003\u8651\u5185\u5b58\u5bf9\u9f50<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u662f\u4ec0\u4e48<\/strong>\uff1a\u8ba1\u7b97\u673a\u7cfb\u7edf\u5bf9\u57fa\u672c\u6570\u636e\u7c7b\u578b\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u653e\u4f4d\u7f6e\u6709\u9650\u5236\uff0c\u8981\u6c42\u8fd9\u4e9b\u6570\u636e\u7684<strong>\u8d77\u59cb\u5730\u5740<\/strong>\u5fc5\u987b\u662f\u67d0\u4e2a\u503c\uff08\u901a\u5e38\u662f\u5176\u5927\u5c0f\u6216\u7cfb\u7edf\u5b57\u957f\uff09\u7684\u6574\u6570\u500d\u3002<\/li>\n\n\n\n<li><strong>\u4e3a\u4ec0\u4e48<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6027\u80fd<\/strong>\uff1aCPU \u4ece\u5185\u5b58\u4e2d\u8bfb\u53d6\u6570\u636e\u65f6\uff0c\u5982\u679c\u6570\u636e\u662f\u81ea\u7136\u5bf9\u9f50\u7684\uff0c\u901a\u5e38\u53ea\u9700\u8981\u4e00\u6b21\u5185\u5b58\u8bbf\u95ee\u3002\u5982\u679c\u672a\u5bf9\u9f50\uff0c\u53ef\u80fd\u9700\u8981\u4e24\u6b21\u8bbf\u95ee\u5e76\u8fdb\u884c\u62fc\u63a5\uff0c\u6548\u7387\u4f4e\u4e0b\u3002<\/li>\n\n\n\n<li><strong>\u786c\u4ef6\u9650\u5236<\/strong>\uff1a\u67d0\u4e9b\u67b6\u6784\u7684 CPU\uff08\u5982 ARM\u3001\u65e9\u671f\u7684 SPARC\uff09\u6839\u672c\u4e0d\u80fd\u5904\u7406\u672a\u5bf9\u9f50\u7684\u5185\u5b58\u8bbf\u95ee\uff0c\u4f1a\u5bfc\u81f4\u786c\u4ef6\u5f02\u5e38\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u89c4\u5219<\/strong>\uff1a\u7ed3\u6784\u4f53\u7684\u5bf9\u9f50\u8981\u6c42\u662f\u5176\u6240\u6709\u6210\u5458\u4e2d<strong>\u6700\u5bbd\u57fa\u672c\u7c7b\u578b<\/strong>\u7684\u5bf9\u9f50\u8981\u6c42\u3002\u7f16\u8bd1\u5668\u4f1a\u81ea\u52a8\u63d2\u5165\u586b\u5145\u5b57\u8282\u6765\u6ee1\u8db3\u5bf9\u9f50\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">130. \u6709\u54ea\u4e9b\u8bbf\u95ee\u4fee\u9970\u7b26<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++ \u6709\u4e09\u4e2a\u8bbf\u95ee\u4fee\u9970\u7b26\uff0c\u7528\u4e8e\u63a7\u5236\u7c7b\u6210\u5458\u7684\u8bbf\u95ee\u6743\u9650\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>public<\/code><\/strong>\uff1a\u516c\u6709\u6210\u5458\u3002\u5728\u4efb\u4f55\u5730\u65b9\u90fd\u53ef\u4ee5\u88ab\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li><strong><code>private<\/code><\/strong>\uff1a\u79c1\u6709\u6210\u5458\u3002\u53ea\u80fd\u5728<strong>\u7c7b\u7684\u5185\u90e8<\/strong>\u548c<strong>\u53cb\u5143<\/strong>\u4e2d\u8bbf\u95ee\u3002\u662f\u7c7b\u7684\u9ed8\u8ba4\u8bbf\u95ee\u6743\u9650\uff08\u5bf9\u4e8e <code>class<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong><code>protected<\/code><\/strong>\uff1a\u4fdd\u62a4\u6210\u5458\u3002\u53ea\u80fd\u5728<strong>\u7c7b\u7684\u5185\u90e8<\/strong>\u3001<strong>\u6d3e\u751f\u7c7b\u7684\u5185\u90e8<\/strong>\u548c<strong>\u53cb\u5143<\/strong>\u4e2d\u8bbf\u95ee\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">131. C++\u6784\u9020\u51fd\u6570\u6709\u51e0\u79cd\uff0c\u5206\u522b\u6709\u4ec0\u4e48\u4f5c\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9ed8\u8ba4\u6784\u9020\u51fd\u6570<\/strong>\uff1a\u65e0\u53c2\u6570\u6216\u6240\u6709\u53c2\u6570\u90fd\u6709\u9ed8\u8ba4\u503c\u3002\u7528\u4e8e\u521b\u5efa\u5bf9\u8c61\u65f6\u4e0d\u63d0\u4f9b\u521d\u59cb\u503c\u3002<\/li>\n\n\n\n<li><strong>\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/strong>\uff1a\u63a5\u53d7\u4e00\u4e2a\u540c\u7c7b\u578b\u5bf9\u8c61\u7684\u5e38\u91cf\u5f15\u7528\u4f5c\u4e3a\u53c2\u6570\u3002\u7528\u4e8e\u7528\u4e00\u4e2a\u5df2\u5b58\u5728\u7684\u5bf9\u8c61\u521d\u59cb\u5316\u65b0\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u79fb\u52a8\u6784\u9020\u51fd\u6570<\/strong>\uff08C++11\uff09\uff1a\u63a5\u53d7\u4e00\u4e2a\u540c\u7c7b\u578b\u5bf9\u8c61\u7684\u53f3\u503c\u5f15\u7528\u4f5c\u4e3a\u53c2\u6570\u3002\u7528\u4e8e&#8221;\u79fb\u52a8&#8221;\u8d44\u6e90\uff0c\u907f\u514d\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li><strong>\u8f6c\u6362\u6784\u9020\u51fd\u6570<\/strong>\uff1a\u53ea\u63a5\u53d7\u4e00\u4e2a\u53c2\u6570\uff08\u6216\u591a\u4e2a\u53c2\u6570\u4f46\u7b2c\u4e00\u4e2a\u4e4b\u540e\u90fd\u6709\u9ed8\u8ba4\u503c\uff09\u3002\u53ef\u4ee5\u7528\u4e8e\u9690\u5f0f\u7c7b\u578b\u8f6c\u6362\u3002\u7528 <code>explicit<\/code> \u5173\u952e\u5b57\u4fee\u9970\u53ef\u4ee5\u7981\u6b62\u9690\u5f0f\u8f6c\u6362\u3002<\/li>\n\n\n\n<li><strong>\u59d4\u6258\u6784\u9020\u51fd\u6570<\/strong>\uff08C++11\uff09\uff1a\u4e00\u4e2a\u6784\u9020\u51fd\u6570\u53ef\u4ee5\u8c03\u7528\u540c\u4e00\u4e2a\u7c7b\u7684\u53e6\u4e00\u4e2a\u6784\u9020\u51fd\u6570\uff0c\u907f\u514d\u4ee3\u7801\u91cd\u590d\u3002<\/li>\n\n\n\n<li><strong>\u7ee7\u627f\u6784\u9020\u51fd\u6570<\/strong>\uff08C++11\uff09\uff1a\u4f7f\u7528 <code>using Base::Base;<\/code> \u6765\u8ba9\u6d3e\u751f\u7c7b\u7ee7\u627f\u57fa\u7c7b\u7684\u6784\u9020\u51fd\u6570\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">132. \u6709\u54ea\u4e9b\u8fd0\u7b97\u7b26\u4e0d\u80fd\u91cd\u8f7d<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5c11\u6570\u8fd0\u7b97\u7b26\u4e0d\u80fd\u91cd\u8f7d\uff0c\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6210\u5458\u8bbf\u95ee\u8fd0\u7b97\u7b26<\/strong>\uff1a<code>.<\/code>\uff08\u70b9\u53f7\uff09<\/li>\n\n\n\n<li><strong>\u6210\u5458\u6307\u9488\u8bbf\u95ee\u8fd0\u7b97\u7b26<\/strong>\uff1a<code>.*<\/code><\/li>\n\n\n\n<li><strong>\u4f5c\u7528\u57df\u89e3\u6790\u8fd0\u7b97\u7b26<\/strong>\uff1a<code>::<\/code><\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u8fd0\u7b97\u7b26<\/strong>\uff1a<code>?:<\/code>\uff08\u4e09\u76ee\u8fd0\u7b97\u7b26\uff09<\/li>\n\n\n\n<li><strong><code>sizeof<\/code> \u8fd0\u7b97\u7b26<\/strong><\/li>\n\n\n\n<li><strong><code>typeid<\/code> \u8fd0\u7b97\u7b26<\/strong> \u8fd9\u4e9b\u8fd0\u7b97\u7b26\u7684\u529f\u80fd\u4e0e\u8bed\u8a00\u6838\u5fc3\u7279\u6027\u7d27\u5bc6\u76f8\u5173\uff0c\u91cd\u8f7d\u5b83\u4eec\u4f1a\u5e26\u6765\u6781\u5927\u7684\u590d\u6742\u6027\u548c\u6b67\u4e49\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">133. \u7c7b\u4e0e\u7c7b\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u6709\u54ea\u51e0\u79cd\uff0c\u4ed6\u4eec\u5bf9\u5e94\u7684\u82f1\u8bed\u5355\u8bcd\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7ee7\u627f<\/strong>\uff1a<code>Inheritance<\/code> (&#8220;is-a&#8221; \u5173\u7cfb)\u3002<code>class B : public A;<\/code><\/li>\n\n\n\n<li><strong>\u7ec4\u5408<\/strong>\uff1a<code>Composition<\/code> (&#8220;has-a&#8221; \u5173\u7cfb\uff0c\u90e8\u5206\u4e0e\u6574\u4f53\u751f\u547d\u5468\u671f\u4e00\u81f4)\u3002<code>class A { B b; };<\/code><\/li>\n\n\n\n<li><strong>\u805a\u5408<\/strong>\uff1a<code>Aggregation<\/code> (&#8220;has-a&#8221; \u5173\u7cfb\uff0c\u90e8\u5206\u53ef\u4ee5\u72ec\u7acb\u4e8e\u6574\u4f53\u5b58\u5728)\u3002<code>class A { B* b; };<\/code>\uff08\u901a\u5e38\u901a\u8fc7\u6307\u9488\u6216\u5f15\u7528\uff0c\u5e76\u5728\u6784\u9020\u51fd\u6570\u4e2d\u4ece\u5916\u90e8\u4f20\u5165\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5173\u8054<\/strong>\uff1a<code>Association<\/code>\uff08\u4e00\u79cd\u677e\u6563\u7684&#8221;\u4f7f\u7528&#8221;\u5173\u7cfb\uff0c\u6bd4\u805a\u5408\u66f4\u5f31\uff09\u3002<code>class A { void use(B&amp; b); };<\/code><\/li>\n\n\n\n<li><strong>\u4f9d\u8d56<\/strong>\uff1a<code>Dependency<\/code>\uff08\u4e00\u4e2a\u7c7b\u4f7f\u7528\u53e6\u4e00\u4e2a\u7c7b\uff0c\u662f\u6700\u5f31\u7684\u5173\u7cfb\uff09\u3002<code>class A { void func(B b); };<\/code>\uff08B \u4f5c\u4e3a\u53c2\u6570\u6216\u5c40\u90e8\u53d8\u91cf\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">134. \u9762\u5411\u5bf9\u8c61\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong>\uff08SOLID \u539f\u5219\uff09<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>S &#8211; \u5355\u4e00\u804c\u8d23\u539f\u5219<\/strong>\uff1a\u4e00\u4e2a\u7c7b\u5e94\u8be5\u53ea\u6709\u4e00\u4e2a\u5f15\u8d77\u5b83\u53d8\u5316\u7684\u539f\u56e0\u3002<\/li>\n\n\n\n<li><strong>O &#8211; \u5f00\u95ed\u539f\u5219<\/strong>\uff1a\u5bf9\u6269\u5c55\u5f00\u653e\uff0c\u5bf9\u4fee\u6539\u5173\u95ed\u3002\u8f6f\u4ef6\u5b9e\u4f53\u5e94\u8be5\u53ef\u4ee5\u6269\u5c55\uff0c\u4f46\u4e0d\u53ef\u4fee\u6539\u3002<\/li>\n\n\n\n<li><strong>L &#8211; \u91cc\u6c0f\u66ff\u6362\u539f\u5219<\/strong>\uff1a\u5b50\u7c7b\u578b\u5fc5\u987b\u80fd\u591f\u66ff\u6362\u6389\u5b83\u4eec\u7684\u57fa\u7c7b\u578b\u3002<\/li>\n\n\n\n<li><strong>I &#8211; \u63a5\u53e3\u9694\u79bb\u539f\u5219<\/strong>\uff1a\u4e0d\u5e94\u8be5\u5f3a\u8feb\u5ba2\u6237\u4f9d\u8d56\u4e8e\u5b83\u4eec\u4e0d\u7528\u7684\u65b9\u6cd5\u3002\u4f7f\u7528\u591a\u4e2a\u4e13\u95e8\u7684\u63a5\u53e3\uff0c\u800c\u4e0d\u662f\u4e00\u4e2a\u5e9e\u5927\u7684\u603b\u63a5\u53e3\u3002<\/li>\n\n\n\n<li><strong>D &#8211; \u4f9d\u8d56\u5012\u7f6e\u539f\u5219<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9ad8\u5c42\u6a21\u5757\u4e0d\u5e94\u8be5\u4f9d\u8d56\u4e8e\u4f4e\u5c42\u6a21\u5757\uff0c\u4e8c\u8005\u90fd\u5e94\u8be5\u4f9d\u8d56\u4e8e\u62bd\u8c61\u3002<\/li>\n\n\n\n<li>\u62bd\u8c61\u4e0d\u5e94\u8be5\u4f9d\u8d56\u4e8e\u7ec6\u8282\uff0c\u7ec6\u8282\u5e94\u8be5\u4f9d\u8d56\u4e8e\u62bd\u8c61\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">135. \u9762\u5411\u5bf9\u8c61\u7684\u8bbe\u8ba1\u6a21\u5f0f\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong>\uff08GoF \u7684 23 \u79cd\u8bbe\u8ba1\u6a21\u5f0f\uff0c\u5206\u7c7b\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u521b\u5efa\u578b\u6a21\u5f0f<\/strong>\uff1a\u5173\u6ce8\u5bf9\u8c61\u7684\u521b\u5efa\u8fc7\u7a0b\u3002\n<ul class=\"wp-block-list\">\n<li>\u5355\u4f8b\u3001\u5de5\u5382\u65b9\u6cd5\u3001\u62bd\u8c61\u5de5\u5382\u3001\u5efa\u9020\u8005\u3001\u539f\u578b\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7ed3\u6784\u578b\u6a21\u5f0f<\/strong>\uff1a\u5173\u6ce8\u7c7b\u548c\u5bf9\u8c61\u7684\u7ec4\u5408\u3002\n<ul class=\"wp-block-list\">\n<li>\u9002\u914d\u5668\u3001\u6865\u63a5\u3001\u7ec4\u5408\u3001\u88c5\u9970\u5668\u3001\u5916\u89c2\u3001\u4eab\u5143\u3001\u4ee3\u7406\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u884c\u4e3a\u578b\u6a21\u5f0f<\/strong>\uff1a\u5173\u6ce8\u5bf9\u8c61\u4e4b\u95f4\u7684\u901a\u4fe1\u548c\u804c\u8d23\u5206\u914d\u3002\n<ul class=\"wp-block-list\">\n<li>\u8d23\u4efb\u94fe\u3001\u547d\u4ee4\u3001\u89e3\u91ca\u5668\u3001\u8fed\u4ee3\u5668\u3001\u4e2d\u4ecb\u8005\u3001\u5907\u5fd8\u5f55\u3001\u89c2\u5bdf\u8005\u3001\u72b6\u6001\u3001\u7b56\u7565\u3001\u6a21\u677f\u65b9\u6cd5\u3001\u8bbf\u95ee\u8005\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">136. C\u548cC++\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7f16\u7a0b\u8303\u5f0f<\/strong>\uff1aC \u662f\u8fc7\u7a0b\u5f0f\uff1bC++ \u662f\u591a\u8303\u5f0f\uff08\u8fc7\u7a0b\u5f0f\u3001\u9762\u5411\u5bf9\u8c61\u3001\u6cdb\u578b\uff09\u3002<\/li>\n\n\n\n<li><strong>\u9762\u5411\u5bf9\u8c61<\/strong>\uff1aC++ \u652f\u6301\u7c7b\u3001\u5bf9\u8c61\u3001\u5c01\u88c5\u3001\u7ee7\u627f\u3001\u591a\u6001\uff1bC \u4e0d\u652f\u6301\u3002<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u91cd\u8f7d<\/strong>\uff1aC++ \u652f\u6301\uff1bC \u4e0d\u652f\u6301\u3002<\/li>\n\n\n\n<li><strong>\u9ed8\u8ba4\u53c2\u6570<\/strong>\uff1aC++ \u652f\u6301\uff1bC \u4e0d\u652f\u6301\u3002<\/li>\n\n\n\n<li><strong>\u5f15\u7528<\/strong>\uff1aC++ \u6709\u5f15\u7528\uff1bC \u53ea\u6709\u6307\u9488\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u7ba1\u7406<\/strong>\uff1aC \u7528 <code>malloc\/free<\/code>\uff1bC++ \u7528 <code>new\/delete<\/code>\uff08\u4f1a\u8c03\u7528\u6784\u9020\/\u6790\u6784\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5904\u7406<\/strong>\uff1aC++ \u652f\u6301 <code>try\/catch<\/code>\uff1bC \u4f7f\u7528\u9519\u8bef\u7801\u548c <code>setjmp\/longjmp<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u6a21\u677f\u548cSTL<\/strong>\uff1aC++ \u7279\u6709\u3002<\/li>\n\n\n\n<li><strong>\u7c7b\u578b\u68c0\u67e5<\/strong>\uff1aC++ \u66f4\u4e25\u683c\uff08\u5982\u51fd\u6570\u539f\u578b\uff09\u3002<\/li>\n\n\n\n<li><strong><code>struct<\/code><\/strong>\uff1a\u5728 C \u4e2d\u53ea\u662f\u6570\u636e\u96c6\u5408\uff1b\u5728 C++ \u4e2d\u7b49\u540c\u4e8e <code>class<\/code>\uff08\u53ef\u5305\u542b\u51fd\u6570\uff0c\u6709\u8bbf\u95ee\u63a7\u5236\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">137. \u4ec0\u4e48\u662fC++\u4e2d\u7684\u79fb\u52a8\u8bed\u4e49\u548c\u5b8c\u7f8e\u8f6c\u53d1<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u79fb\u52a8\u8bed\u4e49<\/strong>\uff1a\u5982\u4e0a\u6240\u8ff0\uff0c\u907f\u514d\u4e0d\u5fc5\u8981\u7684\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li><strong>\u5b8c\u7f8e\u8f6c\u53d1<\/strong>\uff1a\u6307\u5728\u51fd\u6570\u6a21\u677f\u4e2d\uff0c\u5c06\u53c2\u6570<strong>\u539f\u5c01\u4e0d\u52a8\u5730<\/strong>\uff08\u5305\u62ec\u5176\u7c7b\u578b\u4fe1\u606f\uff1a\u5de6\u503c\/\u53f3\u503c\uff0c<code>const\/volatile<\/code> \u7b49\uff09\u4f20\u9012\u7ed9\u53e6\u4e00\u4e2a\u51fd\u6570\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u6a21\u677f\u53c2\u6570\u662f\u53f3\u503c\u5f15\u7528 (<code>T&amp;&amp;<\/code>) \u65f6\uff0c\u5b83\u662f\u4e2a&#8221;\u4e07\u80fd\u5f15\u7528&#8221;\uff0c\u4f46\u4e00\u65e6\u6709\u540d\u5b57\uff08\u5982 <code>t<\/code>\uff09\uff0c\u5728\u51fd\u6570\u5185\u90e8\u5b83\u5c31\u53d8\u6210\u4e86\u5de6\u503c\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3<\/strong>\uff1a\u4f7f\u7528 <code>std::forward&lt;T>(t)<\/code> \u6765\u4fdd\u6301\u53c2\u6570\u7684\u539f\u59cb\u503c\u7c7b\u522b\uff08\u5de6\u503c\u6027\u6216\u53f3\u503c\u6027\uff09\u3002<\/li>\n\n\n\n<li><strong>\u76ee\u7684<\/strong>\uff1a\u5e38\u7528\u4e8e\u5305\u88c5\u5668\u51fd\u6570\u548c\u5de5\u5382\u51fd\u6570\uff0c\u786e\u4fdd\u8c03\u7528\u76ee\u6807\u51fd\u6570\u65f6\u53c2\u6570\u7684\u6027\u8d28\u4e0e\u8c03\u7528\u5305\u88c5\u5668\u65f6\u4e00\u81f4\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">138. C++\u4e2dmove\u6709\u4ec0\u4e48\u4f5c\u7528\uff0c\u5b83\u7684\u539f\u7406\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a<code>std::move<\/code> \u7528\u4e8e\u5c06\u4e00\u4e2a\u5de6\u503c<strong>\u65e0\u6761\u4ef6\u8f6c\u6362<\/strong>\u4e3a\u53f3\u503c\u5f15\u7528\u3002\u5b83\u672c\u8eab\u5e76\u4e0d\u79fb\u52a8\u4efb\u4f55\u4e1c\u897f\uff0c\u53ea\u662f\u544a\u8bc9\u7f16\u8bd1\u5668\uff1a&#8221;\u8fd9\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u88ab\u79fb\u52a8\uff0c\u8bf7\u628a\u5b83\u5f53\u4f5c\u53f3\u503c\u6765\u5904\u7406&#8221;\u3002<\/li>\n\n\n\n<li><strong>\u539f\u7406<\/strong>\uff1a<code>std::move<\/code> \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u7c7b\u578b\u8f6c\u6362\uff1acpp\u590d\u5236\u4e0b\u8f7dtemplate&lt;typename T> typename std::remove_reference&lt;T>::type&amp;&amp; move(T&amp;&amp; t) noexcept { return static_cast&lt;typename std::remove_reference&lt;T>::type&amp;&amp;>(t); }<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u573a\u666f<\/strong>\uff1a\u5f53\u4f60\u60f3\u8c03\u7528\u79fb\u52a8\u6784\u9020\u51fd\u6570\u6216\u79fb\u52a8\u8d4b\u503c\u8fd0\u7b97\u7b26\u65f6\uff0c\u5982\u679c\u6e90\u5bf9\u8c61\u662f\u5de6\u503c\uff0c\u5c31\u9700\u8981\u7528 <code>std::move<\/code> \u6765\u5c06\u5176\u8f6c\u6362\u4e3a\u53f3\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">139. C++\u4e2d\u91ce\u6307\u9488\u548c\u60ac\u6302\u6307\u9488\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91ce\u6307\u9488<\/strong>\uff1a\u6307\u5411<strong>\u672a\u521d\u59cb\u5316<\/strong>\u6216<strong>\u968f\u673a<\/strong>\u5185\u5b58\u5730\u5740\u7684\u6307\u9488\u3002<\/li>\n\n\n\n<li><strong>\u60ac\u6302\u6307\u9488<\/strong>\uff1a\u6307\u5411<strong>\u5df2\u88ab\u91ca\u653e<\/strong>\u7684\u5185\u5b58\u533a\u57df\u7684\u6307\u9488\u3002<\/li>\n\n\n\n<li><strong>\u5171\u540c\u70b9<\/strong>\uff1a\u90fd\u662f\u65e0\u6548\u6307\u9488\uff0c\u89e3\u5f15\u7528\u5b83\u4eec\u4f1a\u5bfc\u81f4\u672a\u5b9a\u4e49\u884c\u4e3a\u3002<\/li>\n\n\n\n<li><strong>\u533a\u522b<\/strong>\uff1a\u91ce\u6307\u9488\u901a\u5e38\u662f\u56e0\u4e3a\u672a\u521d\u59cb\u5316\u6216\u6307\u5411\u4e86\u975e\u6cd5\u5730\u5740\uff1b\u60ac\u6302\u6307\u9488\u662f\u56e0\u4e3a\u6307\u5411\u7684\u5185\u5b58\u5df2\u88ab\u91ca\u653e\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">140. C++\u4ec0\u4e48\u573a\u666f\u4e0b\u9700\u8981\u7528\u5230\u79fb\u52a8\u6784\u9020\u51fd\u6570\u548c\u79fb\u52a8\u8d4b\u503c\u8fd0\u7b97\u7b26<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5f53\u7c7b\u7ba1\u7406\u7740<strong>\u6602\u8d35\u7684\u8d44\u6e90<\/strong>\uff08\u5982\u5927\u5757\u5806\u5185\u5b58\u3001\u6587\u4ef6\u53e5\u67c4\u3001\u7f51\u7edc\u8fde\u63a5\u7b49\uff09\uff0c\u5e76\u4e14\u9884\u8ba1\u4f1a\u5b58\u5728<strong>\u4e34\u65f6\u5bf9\u8c61<\/strong>\u6216\u9700\u8981<strong>\u8f6c\u79fb\u8d44\u6e90\u6240\u6709\u6743<\/strong>\u7684\u573a\u666f\u65f6\uff0c\u5c31\u9700\u8981\u5b9e\u73b0\u79fb\u52a8\u8bed\u4e49\u3002\u5178\u578b\u573a\u666f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4ece\u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u5c40\u90e8\u5bf9\u8c61\uff08\u7f16\u8bd1\u5668\u4f1a\u5c1d\u8bd5\u8fdb\u884c RVO\/NRVO\uff0c\u5426\u5219\u4f1a\u4f7f\u7528\u79fb\u52a8\u6784\u9020\uff09\u3002<\/li>\n\n\n\n<li>\u6807\u51c6\u5e93\u5bb9\u5668\u7684\u64cd\u4f5c\uff0c\u5982 <code>vector::push_back<\/code>\uff0c\u5f53\u4f20\u5165\u4e34\u65f6\u5bf9\u8c61\u65f6\u3002<\/li>\n\n\n\n<li>\u4ea4\u6362\u4e24\u4e2a\u5bf9\u8c61\u7684\u5185\u5bb9\uff08<code>swap<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u5c06\u5bf9\u8c61\u653e\u5165 <code>std::unique_ptr<\/code> \u6216\u4f5c\u4e3a\u7ebf\u7a0b\u51fd\u6570\u53c2\u6570\u4f20\u9012\u65f6\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">141. \u51fd\u6570\u91cd\u8f7d\u7684\u4f18\u70b9\u662f\u4ec0\u4e48\uff0c\u51fd\u6570\u91cd\u8f7d\u548c\u51fd\u6570\u91cd\u5199\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u51fd\u6570\u91cd\u8f7d\u7684\u4f18\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u65b9\u4fbf\u4f7f\u7528<\/strong>\uff1a\u4e3a\u529f\u80fd\u76f8\u4f3c\u7684\u51fd\u6570\u63d0\u4f9b\u7edf\u4e00\u7684\u540d\u79f0\uff0c\u6839\u636e\u53c2\u6570\u4e0d\u540c\u81ea\u52a8\u8c03\u7528\u5408\u9002\u7684\u7248\u672c\u3002<\/li>\n\n\n\n<li><strong>\u63d0\u9ad8\u53ef\u8bfb\u6027<\/strong>\uff1a\u65e0\u9700\u4e3a\u7ec6\u5fae\u5dee\u522b\u7684\u529f\u80fd\u8d77\u4e0d\u540c\u7684\u540d\u5b57\uff08\u5982 <code>print_int<\/code>, <code>print_double<\/code>\uff09\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u91cd\u8f7d vs \u91cd\u5199<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u9762<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u91cd\u8f7d<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u91cd\u5199<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8303\u56f4<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u540c\u4e00\u4f5c\u7528\u57df\uff08\u901a\u5e38\u540c\u4e00\u7c7b\u4e2d\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u540c\u4f5c\u7528\u57df\uff08\u7ee7\u627f\u4f53\u7cfb\u4e2d\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u51fd\u6570\u540d<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u987b\u76f8\u540c<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u987b\u76f8\u540c<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53c2\u6570\u5217\u8868<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5fc5\u987b\u4e0d\u540c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5fc5\u987b\u76f8\u540c<\/strong><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fd4\u56de\u7c7b\u578b<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u4e0d\u540c<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u987b\u76f8\u540c\uff08\u534f\u53d8\u8fd4\u56de\u7c7b\u578b\u9664\u5916\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>virtual<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u5173<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u57fa\u7c7b\u51fd\u6570\u5fc5\u987b\u662f\u865a\u51fd\u6570<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7ed1\u5b9a\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9759\u6001\u7ed1\u5b9a\uff08\u7f16\u8bd1\u65f6\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u52a8\u6001\u7ed1\u5b9a\uff08\u8fd0\u884c\u65f6\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">142. C++\u4e2dusing\u548ctypedef\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u4e24\u8005\u90fd\u7528\u4e8e\u521b\u5efa\u7c7b\u578b\u522b\u540d\uff0c\u4f46 <code>using<\/code> \u8bed\u6cd5\u66f4\u6e05\u6670\u5f3a\u5927\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7b49\u4ef7\u529f\u80fd<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dtypedef std::vector&lt;int> IntVec; \/\/ C++98 using IntVec = std::vector&lt;int>; \/\/ C++11\uff0c\u66f4\u76f4\u89c2<\/li>\n\n\n\n<li><strong><code>using<\/code> \u7684\u4f18\u52bf<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6a21\u677f\u522b\u540d<\/strong>\uff1a<code>using<\/code> \u53ef\u4ee5\u7528\u4e8e\u6a21\u677f\u522b\u540d\uff0c\u800c <code>typedef<\/code> \u4e0d\u80fd\u3002cpp\u590d\u5236\u4e0b\u8f7d\/\/ typedef \u65e0\u6cd5\u505a\u5230 template&lt;typename T> using MyAllocVector = std::vector&lt;T, MyAllocator&lt;T>>; MyAllocVector&lt;int> v; \/\/ \u4f7f\u7528<\/li>\n\n\n\n<li><strong>\u53ef\u8bfb\u6027<\/strong>\uff1a<code>using<\/code> \u7684\u8bed\u6cd5 <code>\u65b0\u540d\u5b57 = \u539f\u7c7b\u578b<\/code> \u66f4\u7b26\u5408\u8d4b\u503c\u4e60\u60ef\uff0c\u6613\u4e8e\u7406\u89e3\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">143. C++\u4e2denum\u548cenum class\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f20\u7edf\u679a\u4e3e (<code>enum<\/code>)<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u679a\u4e3e\u7c7b (<code>enum class<\/code>)<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f5c\u7528\u57df<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u679a\u4e3e\u503c\u76f4\u63a5\u66b4\u9732\u5728\u5916\u90e8\u4f5c\u7528\u57df\uff0c\u5bb9\u6613\u9020\u6210<strong>\u6c61\u67d3<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u679a\u4e3e\u503c\u4f4d\u4e8e\u679a\u4e3e\u7c7b\u7684\u4f5c\u7528\u57df\u5185\uff0c\u9700\u901a\u8fc7 <code>EnumClass::Value<\/code> \u8bbf\u95ee<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9690\u5f0f\u8f6c\u6362<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f1a\u9690\u5f0f\u8f6c\u6362\u4e3a\u6574\u6570<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4e0d\u4f1a<\/strong>\u9690\u5f0f\u8f6c\u6362\u4e3a\u6574\u6570\uff0c\u7c7b\u578b\u66f4\u5b89\u5168<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e95\u5c42\u7c7b\u578b<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u786e\u5b9a\uff0c\u7531\u7f16\u8bd1\u5668\u51b3\u5b9a<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u6307\u5b9a\u5e95\u5c42\u7c7b\u578b\uff08\u5982 <code>enum class Color : char<\/code>\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u524d\u5411\u58f0\u660e<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u80fd\uff08\u9664\u975e\u6307\u5b9a\u5e95\u5c42\u7c7b\u578b\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\uff08\u56e0\u4e3a\u5e95\u5c42\u7c7b\u578b\u9ed8\u8ba4\u662f <code>int<\/code>\uff0c\u6216\u53ef\u6307\u5b9a\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u63a8\u8350<\/strong>\uff1aC++11 \u540e\u5e94\u4f18\u5148\u4f7f\u7528 <code>enum class<\/code>\uff0c\u56e0\u4e3a\u5b83\u66f4\u5b89\u5168\u3001\u66f4\u73b0\u4ee3\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">144. C++\u4e2dthis\u6307\u9488\u7684\u4f5c\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>this<\/code> \u662f\u4e00\u4e2a\u9690\u542b\u7684\u3001\u5b58\u5728\u4e8e\u6bcf\u4e2a<strong>\u975e\u9759\u6001\u6210\u5458\u51fd\u6570<\/strong>\u5185\u90e8\u7684\u6307\u9488\uff0c\u5b83\u6307\u5411<strong>\u8c03\u7528\u8be5\u6210\u5458\u51fd\u6570\u7684\u5bf9\u8c61<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5728\u6210\u5458\u51fd\u6570\u5185\u90e8\uff0c\u7528\u4e8e\u8bbf\u95ee\u5f53\u524d\u5bf9\u8c61\u7684\u6210\u5458\u53d8\u91cf\u548c\u6210\u5458\u51fd\u6570\uff08\u5f53\u5f62\u53c2\u6216\u5c40\u90e8\u53d8\u91cf\u4e0e\u6210\u5458\u53d8\u91cf\u540c\u540d\u65f6\uff0c\u5fc5\u987b\u4f7f\u7528 <code>this-><\/code> \u6765\u533a\u5206\uff09\u3002<\/li>\n\n\n\n<li>\u4ece\u6210\u5458\u51fd\u6570\u4e2d\u8fd4\u56de\u5f53\u524d\u5bf9\u8c61\u672c\u8eab\uff08<code>return *this;<\/code>\uff09\uff0c\u7528\u4e8e\u5b9e\u73b0\u94fe\u5f0f\u8c03\u7528\u3002<\/li>\n\n\n\n<li>\u5728\u5bf9\u8c61\u4e4b\u95f4\u8fdb\u884c\u81ea\u5f15\u7528\u68c0\u67e5\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">145. C++\u4e2d\u53ef\u4ee5\u4f7f\u7528delete this\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u8bed\u6cd5\u4e0a\u53ef\u4ee5\uff0c\u4f46\u6781\u5176\u5371\u9669\uff0c\u5fc5\u987b\u9075\u5b88\u4e25\u683c\u6761\u4ef6\u3002<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6761\u4ef6<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5bf9\u8c61\u5fc5\u987b\u662f\u7528 <code>new<\/code> \u5728\u5806\u4e0a\u521b\u5efa\u7684\u3002<\/li>\n\n\n\n<li>\u5728 <code>delete this;<\/code> \u4e4b\u540e\uff0c<strong>\u4e0d\u80fd\u518d\u6b21\u8bbf\u95ee\u8be5\u5bf9\u8c61\u7684\u4efb\u4f55\u6210\u5458\u53d8\u91cf\u6216\u8c03\u7528\u6210\u5458\u51fd\u6570<\/strong>\uff08\u56e0\u4e3a\u5bf9\u8c61\u5df2\u88ab\u9500\u6bc1\uff09\u3002<\/li>\n\n\n\n<li>\u4e0d\u80fd\u518d\u901a\u8fc7\u4efb\u4f55\u65b9\u5f0f\u518d\u6b21 <code>delete<\/code> \u8fd9\u4e2a\u5bf9\u8c61\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7528\u9014<\/strong>\uff1a\u5728\u67d0\u4e9b\u9700\u8981\u81ea\u6211\u9500\u6bc1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e2d\u5076\u5c14\u4f7f\u7528\uff08\u5982\u5f15\u7528\u8ba1\u6570\u4e3a0\u65f6\uff09\u3002\u4f46\u901a\u5e38\u6709\u66f4\u5b89\u5168\u7684\u8bbe\u8ba1\u6765\u66ff\u4ee3\u3002<strong>\u4e0d\u63a8\u8350\u666e\u901a\u7a0b\u5e8f\u5458\u4f7f\u7528<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">146. \u4ec0\u4e48\u662fC++\u4e2d\u7684RAII,\u5b83\u7684\u4f7f\u7528\u573a\u666f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5168\u79f0<\/strong>\uff1aResource Acquisition Is Initialization\uff0c\u8d44\u6e90\u83b7\u53d6\u5373\u521d\u59cb\u5316\u3002<\/li>\n\n\n\n<li><strong>\u6838\u5fc3\u601d\u60f3<\/strong>\uff1a\u5c06<strong>\u8d44\u6e90<\/strong>\uff08\u5982\u52a8\u6001\u5185\u5b58\u3001\u6587\u4ef6\u53e5\u67c4\u3001\u9501\u3001\u6570\u636e\u5e93\u8fde\u63a5\uff09\u7684<strong>\u751f\u547d\u5468\u671f<\/strong>\u4e0e\u4e00\u4e2a<strong>\u5bf9\u8c61\u7684\u751f\u547d\u5468\u671f<\/strong>\u7ed1\u5b9a\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u6784\u9020\u51fd\u6570<\/strong>\u4e2d\u83b7\u53d6\u8d44\u6e90\uff08\u5206\u914d\u5185\u5b58\u3001\u6253\u5f00\u6587\u4ef6\u3001\u52a0\u9501\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6790\u6784\u51fd\u6570<\/strong>\u4e2d\u91ca\u653e\u8d44\u6e90\uff08\u91ca\u653e\u5185\u5b58\u3001\u5173\u95ed\u6587\u4ef6\u3001\u89e3\u9501\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u65e0\u8bba\u51fd\u6570\u6b63\u5e38\u8fd4\u56de\u8fd8\u662f\u56e0\u5f02\u5e38\u9000\u51fa\uff0c\u6808\u4e0a\u5c40\u90e8\u5bf9\u8c61\u7684\u6790\u6784\u51fd\u6570\u90fd\u4f1a\u88ab\u8c03\u7528\uff0c\u4ece\u800c\u786e\u4fdd\u8d44\u6e90\u88ab\u81ea\u52a8\u91ca\u653e\uff0c\u907f\u514d\u4e86\u8d44\u6e90\u6cc4\u6f0f\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u573a\u666f<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u667a\u80fd\u6307\u9488<\/strong>\uff1a\u7ba1\u7406\u52a8\u6001\u5185\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u9501\u5b88\u536b<\/strong>\uff1a<code>std::lock_guard<\/code>, <code>std::unique_lock<\/code>\uff0c\u7528\u4e8e\u81ea\u52a8\u52a0\u9501\u548c\u89e3\u9501\u3002<\/li>\n\n\n\n<li><strong>\u6587\u4ef6\u6d41<\/strong>\uff1a<code>std::fstream<\/code>\uff0c\u5728\u6790\u6784\u65f6\u81ea\u52a8\u5173\u95ed\u6587\u4ef6\u3002<\/li>\n\n\n\n<li>\u4efb\u4f55\u9700\u8981\u6210\u5bf9\u51fa\u73b0\u7684\u64cd\u4f5c\uff08open\/close, connect\/disconnect\uff09\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">147. C++\u4e2dthread\u7684join\u548cdetach\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>join()<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u963b\u585e\u5f53\u524d\u7ebf\u7a0b\uff08\u901a\u5e38\u662f\u4e3b\u7ebf\u7a0b\uff09\uff0c\u76f4\u5230\u88ab <code>join<\/code> \u7684\u7ebf\u7a0b\u6267\u884c\u5b8c\u6bd5\u3002<\/li>\n\n\n\n<li><strong>\u8d44\u6e90<\/strong>\uff1a\u7ebf\u7a0b\u6267\u884c\u5b8c\u6bd5\u540e\uff0c\u5176\u8d44\u6e90\uff08\u5982\u7ebf\u7a0bID\uff09\u4f1a\u88ab\u6e05\u7406\u3002<\/li>\n\n\n\n<li><strong>\u5fc5\u987b\u6027<\/strong>\uff1a\u4e00\u4e2a\u7ebf\u7a0b\u5bf9\u8c61\u5728\u9500\u6bc1\u524d\uff0c\u5fc5\u987b\u88ab <code>join<\/code> \u6216 <code>detach<\/code>\uff0c\u5426\u5219 <code>std::terminate<\/code> \u4f1a\u88ab\u8c03\u7528\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>detach()<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u5c06\u7ebf\u7a0b\u4e0e\u7ebf\u7a0b\u5bf9\u8c61\u5206\u79bb\uff0c\u5141\u8bb8\u7ebf\u7a0b<strong>\u72ec\u7acb\u5730<\/strong>\u5728\u540e\u53f0\u8fd0\u884c\u3002\u8c03\u7528 <code>detach<\/code> \u540e\uff0c\u4e3b\u7ebf\u7a0b\u53ef\u4ee5\u7ee7\u7eed\u6267\u884c\u800c\u4e0d\u5fc5\u7b49\u5f85\u5b83\u3002<\/li>\n\n\n\n<li><strong>\u8d44\u6e90<\/strong>\uff1a\u5206\u79bb\u540e\u7684\u7ebf\u7a0b\u7531C++\u8fd0\u884c\u65f6\u5e93\u5728\u540e\u53f0\u63a5\u7ba1\uff0c\u5f53\u5176\u6267\u884c\u5b8c\u6bd5\u540e\u81ea\u52a8\u91ca\u653e\u6240\u6709\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>\u98ce\u9669<\/strong>\uff1a\u5206\u79bb\u540e\uff0c\u4f60\u65e0\u6cd5\u518d\u901a\u8fc7\u7ebf\u7a0b\u5bf9\u8c61\u6765\u63a7\u5236\u6216\u7b49\u5f85\u5b83\u3002\u5982\u679c\u4e3b\u7ebf\u7a0b\u5148\u7ed3\u675f\uff0c\u5206\u79bb\u7684\u7ebf\u7a0b\u53ef\u80fd\u88ab\u8feb\u7ec8\u6b62\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9009\u62e9<\/strong>\uff1a\u5982\u679c\u9700\u8981\u7b49\u5f85\u7ebf\u7a0b\u7ed3\u679c\uff0c\u7528 <code>join<\/code>\uff1b\u5982\u679c\u4efb\u52a1\u662f\u5b8c\u5168\u72ec\u7acb\u7684&#8221;\u5b88\u62a4\u7ebf\u7a0b&#8221;\uff0c\u4e14\u4e0d\u5173\u5fc3\u5176\u7ed3\u679c\uff0c\u53ef\u4ee5\u7528 <code>detach<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">148. C++\u4e2djthread\u548cthread\u7684\u533a\u522b\uff08C++20\uff09<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>std::jthread<\/code> \u662f C++20 \u5f15\u5165\u7684\uff0c\u610f\u4e3a &#8220;joining thread&#8221;\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e0e <code>std::thread<\/code> \u7684\u4e3b\u8981\u533a\u522b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u81ea\u52a8\u8fde\u63a5<\/strong>\uff1a<code>jthread<\/code> \u7684\u6790\u6784\u51fd\u6570\u4f1a\u81ea\u52a8\u8c03\u7528 <code>join()<\/code>\uff08\u5982\u679c\u7ebf\u7a0b\u4ecd\u53ef\u8fde\u63a5\uff09\u3002\u8fd9\u907f\u514d\u4e86\u56e0\u5fd8\u8bb0 <code>join<\/code> \u800c\u5bfc\u81f4\u7684\u7a0b\u5e8f\u7ec8\u6b62\uff08<code>std::terminate<\/code>\uff09\uff0c\u66f4\u5b89\u5168\u3002<\/li>\n\n\n\n<li><strong>\u534f\u4f5c\u4e2d\u65ad<\/strong>\uff1a<code>jthread<\/code> \u652f\u6301\u901a\u8fc7 <code>request_stop()<\/code> \u65b9\u6cd5\u5411\u7ebf\u7a0b\u53d1\u9001\u505c\u6b62\u8bf7\u6c42\u3002\u7ebf\u7a0b\u5185\u90e8\u53ef\u4ee5\u901a\u8fc7\u68c0\u67e5 <code>std::stop_token<\/code> \u6765\u4f18\u96c5\u5730\u505c\u6b62\u6267\u884c\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u63a8\u8350<\/strong>\uff1a\u5728 C++20 \u53ca\u4ee5\u540e\uff0c\u5e94\u4f18\u5148\u4f7f\u7528 <code>std::jthread<\/code>\uff0c\u56e0\u4e3a\u5b83\u66f4\u5b89\u5168\u3001\u529f\u80fd\u66f4\u5f3a\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">149. C++\u4e2dmemcpy\u548cmemmove\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>memcpy<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5047\u8bbe<\/strong>\uff1a\u8981\u6c42\u6e90\u5185\u5b58\u533a\u548c\u76ee\u6807\u5185\u5b58\u533a<strong>\u4e0d\u91cd\u53e0<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u884c\u4e3a<\/strong>\uff1a\u5982\u679c\u5185\u5b58\u533a\u91cd\u53e0\uff0c\u5176\u884c\u4e3a\u662f<strong>\u672a\u5b9a\u4e49\u7684<\/strong>\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u635f\u574f\u3002\u4f46\u5b83\u53ef\u80fd\u66f4\u5feb\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>memmove<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8bbe\u8ba1<\/strong>\uff1a\u4e13\u95e8\u5904\u7406<strong>\u53ef\u80fd\u91cd\u53e0<\/strong>\u7684\u5185\u5b58\u533a\u57df\u3002<\/li>\n\n\n\n<li><strong>\u884c\u4e3a<\/strong>\uff1a\u5b83\u4f1a\u5148\u68c0\u67e5\u662f\u5426\u6709\u91cd\u53e0\u3002\u5982\u679c\u6709\uff0c\u4f1a\u91c7\u7528\u4e00\u79cd\u7b56\u7565\uff08\u4f8b\u5982\u4ece\u540e\u5f80\u524d\u62f7\u8d1d\uff09\u6765\u786e\u4fdd\u6570\u636e\u6b63\u786e\u6027\u3002\u56e0\u6b64\u6bd4 <code>memcpy<\/code> \u7a0d\u6162\uff0c\u4f46\u66f4\u5b89\u5168\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9009\u62e9<\/strong>\uff1a\u5982\u679c\u786e\u5b9a\u5185\u5b58\u4e0d\u91cd\u53e0\uff0c\u7528 <code>memcpy<\/code>\uff08\u8ffd\u6c42\u6027\u80fd\uff09\uff1b\u5982\u679c\u4e0d\u786e\u5b9a\uff0c\u7528 <code>memmove<\/code>\uff08\u4fdd\u8bc1\u5b89\u5168\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">150. C++\u4e2dfunction\uff0cbind\uff0clambda\u90fd\u5728\u4ec0\u4e48\u573a\u666f\u4e0b\u4f1a\u8c03\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u4e09\u8005\u90fd\u662f C++11 \u5f15\u5165\u7684\u7528\u4e8e\u51fd\u6570\u5f0f\u7f16\u7a0b\u7684\u5de5\u5177\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>std::function<\/code><\/strong>\uff1a<ul><li><strong>\u662f\u4ec0\u4e48<\/strong>\uff1a\u4e00\u4e2a\u901a\u7528\u7684<strong>\u51fd\u6570\u5305\u88c5\u5668<\/strong>\uff0c\u53ef\u4ee5\u5b58\u50a8\u3001\u62f7\u8d1d\u3001\u8c03\u7528\u4efb\u4f55\u53ef\u8c03\u7528\u5bf9\u8c61\uff08\u666e\u901a\u51fd\u6570\u3001\u6210\u5458\u51fd\u6570\u3001lambda\u3001\u4eff\u51fd\u6570\u7b49\uff09\u3002<\/li><li><strong>\u573a\u666f<\/strong>\uff1a\u5f53\u9700\u8981<strong>\u7c7b\u578b\u64e6\u9664<\/strong>\uff0c\u5c06\u4e00\u4e2a\u53ef\u8c03\u7528\u5bf9\u8c61\u4f5c\u4e3a\u53c2\u6570\u4f20\u9012\u3001\u5b58\u50a8\u8d77\u6765\u7a0d\u540e\u56de\u8c03\u65f6\u4f7f\u7528\u3002\u4f8b\u5982\uff0c\u5b9e\u73b0\u56de\u8c03\u673a\u5236\u3001\u4e8b\u4ef6\u7cfb\u7edf\u3002<\/li><\/ul>cpp\u590d\u5236\u4e0b\u8f7dstd::function&lt;int(int, int)> func = std::plus&lt;int>(); int result = func(1, 2); \/\/ \u8c03\u7528<\/li>\n\n\n\n<li><strong><code>std::bind<\/code><\/strong>\uff1a<ul><li><strong>\u662f\u4ec0\u4e48<\/strong>\uff1a\u7528\u4e8e<strong>\u7ed1\u5b9a\u53c2\u6570<\/strong>\uff0c\u751f\u6210\u4e00\u4e2a\u65b0\u7684\u53ef\u8c03\u7528\u5bf9\u8c61\u3002\u53ef\u4ee5\u7ed1\u5b9a\u7279\u5b9a\u503c\uff0c\u6216\u5c06\u53c2\u6570\u91cd\u65b0\u6392\u5e8f\u3002<\/li><li><strong>\u573a\u666f<\/strong>\uff1a\u5c06\u591a\u53c2\u6570\u51fd\u6570\u53d8\u4e3a\u5c11\u53c2\u6570\u51fd\u6570\uff1b\u5c06\u6210\u5458\u51fd\u6570\u7ed1\u5b9a\u5230\u7279\u5b9a\u5bf9\u8c61\u4e0a\uff1b\u6539\u53d8\u53c2\u6570\u987a\u5e8f\u3002\u73b0\u5728\u5f88\u591a\u573a\u666f\u53ef\u4ee5\u88ab <strong>lambda \u8868\u8fbe\u5f0f<\/strong>\u66ff\u4ee3\u3002<\/li><\/ul>cpp\u590d\u5236\u4e0b\u8f7dvoid f(int a, int b); auto f_bound = std::bind(f, 10, std::placeholders::_1); \/\/ \u7ed1\u5b9a\u7b2c\u4e00\u4e2a\u53c2\u6570\u4e3a10 f_bound(20); \/\/ \u7b49\u4ef7\u4e8e f(10, 20)<\/li>\n\n\n\n<li><strong>Lambda \u8868\u8fbe\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u662f\u4ec0\u4e48<\/strong>\uff1a\u4e00\u79cd\u4fbf\u6377\u7684\u5b9a\u4e49\u533f\u540d\u51fd\u6570\u5bf9\u8c61\u7684\u65b9\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u573a\u666f<\/strong>\uff1a\u4efb\u4f55\u9700\u8981\u4e34\u65f6\u3001\u7b80\u5355\u7684\u51fd\u6570\u5bf9\u8c61\u7684\u5730\u65b9\u3002\u7279\u522b\u662f\u4e0e STL \u7b97\u6cd5\u7ed3\u5408\u4f7f\u7528\uff08\u5982 <code>sort<\/code>, <code>for_each<\/code>\uff09\uff0c\u6216\u8005\u7528\u4e8e\u521b\u5efa\u7b80\u5355\u7684\u56de\u8c03\u3002\u5b83\u6bd4 <code>bind<\/code> \u66f4\u76f4\u89c2\u3001\u66f4\u5f3a\u5927\uff08\u53ef\u4ee5\u6355\u83b7\u5c40\u90e8\u53d8\u91cf\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">151. C++\u4e2d\u4f7f\u7528\u6a21\u677f\u7684\u4f18\u7f3a\u70b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7c7b\u578b\u5b89\u5168<\/strong>\uff1a\u7f16\u8bd1\u5668\u5728\u7f16\u8bd1\u65f6\u8fdb\u884c\u7c7b\u578b\u68c0\u67e5\uff0c\u6bd4\u4f7f\u7528void*\u7684C\u98ce\u683c\u6cdb\u578b\u66f4\u5b89\u5168\u3002<\/li>\n\n\n\n<li><strong>\u4ee3\u7801\u590d\u7528<\/strong>\uff1a\u7f16\u5199\u4e00\u6b21\uff0c\u53ef\u7528\u4e8e\u591a\u79cd\u6570\u636e\u7c7b\u578b\uff0c\u51cf\u5c11\u4ee3\u7801\u5197\u4f59\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd<\/strong>\uff1a\u7f16\u8bd1\u671f\u5b9e\u4f8b\u5316\u751f\u6210\u7279\u5b9a\u7c7b\u578b\u7684\u4ee3\u7801\uff0c\u65e0\u8fd0\u884c\u65f6\u5f00\u9500\uff08\u96f6\u5f00\u9500\u62bd\u8c61\uff09\u3002<\/li>\n\n\n\n<li><strong>\u7075\u6d3b\u6027<\/strong>\uff1a\u662f\u6cdb\u578b\u7f16\u7a0b\u548cSTL\u7684\u57fa\u7840\uff0c\u53ef\u4ee5\u7f16\u5199\u9ad8\u5ea6\u901a\u7528\u548c\u7075\u6d3b\u7684\u4ee3\u7801\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4ee3\u7801\u81a8\u80c0<\/strong>\uff1a\u6a21\u677f\u5b9e\u4f8b\u5316\u4f1a\u4e3a\u6bcf\u79cd\u7c7b\u578b\u751f\u6210\u4e00\u4efd\u4ee3\u7801\uff0c\u53ef\u80fd\u5bfc\u81f4\u6700\u7ec8\u53ef\u6267\u884c\u6587\u4ef6\u53d8\u5927\u3002<\/li>\n\n\n\n<li><strong>\u7f16\u8bd1\u65f6\u95f4\u53d8\u957f<\/strong>\uff1a\u6a21\u677f\u9700\u8981\u5728\u5934\u6587\u4ef6\u4e2d\u5b9e\u73b0\uff0c\u6bcf\u6b21\u4fee\u6539\u90fd\u4f1a\u5bfc\u81f4\u5927\u91cf\u4ee3\u7801\u91cd\u65b0\u7f16\u8bd1\u3002<\/li>\n\n\n\n<li><strong>\u8c03\u8bd5\u56f0\u96be<\/strong>\uff1a\u9519\u8bef\u4fe1\u606f\u6666\u6da9\u96be\u61c2\uff0c\u7ed9\u8c03\u8bd5\u5e26\u6765\u6311\u6218\u3002<\/li>\n\n\n\n<li><strong>\u6982\u5ff5\u9a8c\u8bc1\u590d\u6742<\/strong>\uff1a\u5728C++20\u4e4b\u524d\uff0c\u5bf9\u6a21\u677f\u53c2\u6570\u7684\u9650\u5236\u9700\u8981\u901a\u8fc7\u590d\u6742\u7684SFINAE\u6216traits\u6280\u5de7\u6765\u5b9e\u73b0\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">152. C++\u4e2d\u51fd\u6570\u6a21\u677f\u548c\u7c7b\u6a21\u677f\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u9762<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u51fd\u6570\u6a21\u677f<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u7c7b\u6a21\u677f<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b9a\u4e49<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u751f\u6210\u51fd\u6570\u7684\u84dd\u56fe<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u751f\u6210\u7c7b\u7684\u84dd\u56fe<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b9e\u4f8b\u5316<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u8fc7\u51fd\u6570\u8c03\u7528\u65f6\u7684\u5b9e\u53c2\u63a8\u5bfc\u7c7b\u578b\u53c2\u6570<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u987b\u663e\u5f0f\u6307\u5b9a\u7c7b\u578b\u53c2\u6570\uff08\u5982 <code>MyClass&lt;int&gt; obj;<\/code>\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7279\u5316<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u5168\u7279\u5316\uff0c\u4e0d\u80fd\u504f\u7279\u5316\uff08\u4f46\u53ef\u4ee5\u91cd\u8f7d\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u5168\u7279\u5316\u548c\u504f\u7279\u5316<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7528\u6cd5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f4\u63a5\u8c03\u7528\u51fd\u6570<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u5148\u5b9e\u4f8b\u5316\u7c7b\uff0c\u518d\u4f7f\u7528\u5bf9\u8c61<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">153. \u4ec0\u4e48\u662fC++\u6a21\u677f\u4e2d\u7684SFINAE,\u5b83\u7684\u539f\u5219\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5168\u79f0<\/strong>\uff1aSubstitution Failure Is Not An Error\uff08\u66ff\u6362\u5931\u8d25\u5e76\u975e\u9519\u8bef\uff09\u3002<\/li>\n\n\n\n<li><strong>\u539f\u5219<\/strong>\uff1a\u5728\u6a21\u677f\u91cd\u8f7d\u89e3\u6790\u8fc7\u7a0b\u4e2d\uff0c\u5f53\u7f16\u8bd1\u5668\u5c1d\u8bd5\u7528\u5177\u4f53\u7684\u7c7b\u578b\u66ff\u6362\u6a21\u677f\u53c2\u6570\u65f6\uff0c\u5982\u679c\u5bfc\u81f4\u66ff\u6362\u5931\u8d25\uff08\u4f8b\u5982\uff0c\u8868\u8fbe\u5f0f\u65e0\u6548\u6216\u7c7b\u578b\u4e0d\u6ee1\u8db3\u7ea6\u675f\uff09\uff0c\u7f16\u8bd1\u5668\u4e0d\u4f1a\u62a5\u9519\uff0c\u800c\u662f\u7b80\u5355\u5730\u5c06\u8fd9\u4e2a\u6a21\u677f\u4ece\u91cd\u8f7d\u96c6\u4e2d\u5254\u9664\uff0c\u7136\u540e\u7ee7\u7eed\u5c1d\u8bd5\u5176\u4ed6\u91cd\u8f7d\u7248\u672c\u3002<\/li>\n\n\n\n<li><strong>\u76ee\u7684<\/strong>\uff1a\u5229\u7528\u8fd9\u4e00\u89c4\u5219\uff0c\u53ef\u4ee5\u5728\u7f16\u8bd1\u671f\u6839\u636e\u7c7b\u578b\u7684\u7279\u6027\u9009\u62e9\u4e0d\u540c\u7684\u6a21\u677f\u5b9e\u73b0\uff0c\u4ece\u800c\u5b9e\u73b0\u7f16\u8bd1\u671f\u591a\u6001\u548c\u7c7b\u578bTraits\u3002\u5728C++11\u4e4b\u524d\uff0cSFINAE\u662f\u5b9e\u73b0\u6a21\u677f\u5143\u7f16\u7a0b\u7684\u4e3b\u8981\u624b\u6bb5\u3002C++20\u5f15\u5165\u4e86Concepts\uff0c\u53ef\u4ee5\u66f4\u76f4\u89c2\u5730\u8868\u8fbe\u5bf9\u6a21\u677f\u53c2\u6570\u7684\u7ea6\u675f\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">154. C++\u4e2d\u4e3a\u4ec0\u4e48\u8981\u4f7f\u7528std::array\uff0c\u5b83\u6709\u4ec0\u4e48\u4f18\u70b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>std::array<\/code> \u662fC++11\u5f15\u5165\u7684\u56fa\u5b9a\u5927\u5c0f\u6570\u7ec4\u5bb9\u5668\uff0c\u76f8\u5bf9\u4e8e\u5185\u7f6e\u6570\u7ec4\u548c<code>vector<\/code>\uff0c\u5b83\u6709\u5982\u4e0b\u4f18\u70b9\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u66f4\u5b89\u5168<\/strong>\uff1a\u5b83\u77e5\u9053\u81ea\u5df1\u7684\u5927\u5c0f\uff08\u901a\u8fc7<code>size()<\/code>\u6210\u5458\u51fd\u6570\uff09\uff0c\u5e76\u4e14\u4e0d\u4f1a\u81ea\u52a8\u9000\u5316\u4e3a\u6307\u9488\uff0c\u907f\u514d\u4e86\u4f20\u9012\u8fc7\u7a0b\u4e2d\u5927\u5c0f\u4fe1\u606f\u7684\u4e22\u5931\u3002<\/li>\n\n\n\n<li><strong>STL\u5bb9\u5668\u63a5\u53e3<\/strong>\uff1a\u652f\u6301\u8fed\u4ee3\u5668\uff0c\u53ef\u4ee5\u7528\u4e8eSTL\u7b97\u6cd5\uff0c\u63d0\u4f9b\u4e86<code>begin()<\/code>, <code>end()<\/code>, <code>rbegin()<\/code>\u7b49\u6210\u5458\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u7f16\u8bd1\u671f\u56fa\u5b9a\u5927\u5c0f<\/strong>\uff1a\u5927\u5c0f\u5728\u7f16\u8bd1\u671f\u786e\u5b9a\uff0c\u5b58\u50a8\u5728\u6808\u4e0a\uff0c\u6ca1\u6709\u52a8\u6001\u5185\u5b58\u5206\u914d\u7684\u5f00\u9500\u3002<\/li>\n\n\n\n<li><strong>\u652f\u6301\u8d4b\u503c\u64cd\u4f5c<\/strong>\uff1a\u5185\u7f6e\u6570\u7ec4\u4e0d\u80fd\u76f4\u63a5\u8d4b\u503c\uff0c\u800c<code>std::array<\/code>\u53ef\u4ee5\uff08\u4f8b\u5982 <code>array1 = array2;<\/code>\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">155. C++\u4e2d\u5806\u5185\u5b58\u548c\u6808\u5185\u5b58\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u6808\u5185\u5b58<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u5806\u5185\u5b58<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7ba1\u7406\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u5668\u81ea\u52a8\u7ba1\u7406<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7a0b\u5e8f\u5458\u624b\u52a8\u7ba1\u7406\uff08new\/delete\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5206\u914d\u901f\u5ea6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5feb\uff08\u79fb\u52a8\u6808\u6307\u9488\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6162\uff08\u9700\u8981\u67e5\u627e\u5408\u9002\u7684\u5185\u5b58\u5757\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5927\u5c0f\u9650\u5236<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u5c0f\uff08\u901a\u5e38\u51e0MB\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u5927\uff08\u53d7\u9650\u4e8e\u7cfb\u7edf\u865a\u62df\u5185\u5b58\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u751f\u547d\u5468\u671f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51fd\u6570\u6267\u884c\u671f\u95f4<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f4\u5230\u88ab\u663e\u5f0f\u91ca\u653e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u788e\u7247\u95ee\u9898<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\uff08\u5916\u90e8\u788e\u7247\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8bbf\u95ee\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f4\u63a5\u901a\u8fc7\u53d8\u91cf\u540d<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u8fc7\u6307\u9488\u95f4\u63a5\u8bbf\u95ee<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">156. C++\u7684\u6808\u6ea2\u51fa\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6808\u6ea2\u51fa\u662f\u6307\u7a0b\u5e8f\u8c03\u7528\u6808\u7684\u5927\u5c0f\u8d85\u8fc7\u4e86\u4e3a\u5176\u5206\u914d\u7684\u6700\u5927\u6808\u7a7a\u95f4\uff08\u901a\u5e38\u7531\u64cd\u4f5c\u7cfb\u7edf\u6216\u7f16\u8bd1\u5668\u8bbe\u7f6e\uff09\u3002\u5e38\u89c1\u539f\u56e0\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u65e0\u9650\u9012\u5f52<\/strong>\uff1a\u9012\u5f52\u51fd\u6570\u6ca1\u6709\u6b63\u786e\u7684\u7ec8\u6b62\u6761\u4ef6\uff0c\u5bfc\u81f4\u51fd\u6570\u8c03\u7528\u6808\u4e0d\u65ad\u589e\u957f\u3002<\/li>\n\n\n\n<li><strong>\u8fc7\u5927\u7684\u6808\u4e0a\u53d8\u91cf<\/strong>\uff1a\u4f8b\u5982\u5728\u51fd\u6570\u5185\u58f0\u660e\u4e00\u4e2a\u975e\u5e38\u5927\u7684\u6570\u7ec4\uff08\u5982 <code>int hugeArray[1000000];<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6df1\u5c42\u7684\u51fd\u6570\u8c03\u7528\u94fe<\/strong>\u3002 \u6808\u6ea2\u51fa\u4f1a\u5bfc\u81f4\u7a0b\u5e8f\u5d29\u6e83\uff08\u5982\u6bb5\u9519\u8bef\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">157. \u4ec0\u4e48\u662fC++\u7684\u56de\u8c03\u51fd\u6570\uff0c\u4e3a\u4ec0\u4e48\u9700\u8981\u56de\u8c03\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u56de\u8c03\u51fd\u6570<\/strong>\uff1a\u4e00\u4e2a\u901a\u8fc7\u51fd\u6570\u6307\u9488\uff08\u6216\u53ef\u8c03\u7528\u5bf9\u8c61\uff09\u4f20\u9012\uff0c\u5e76\u5728\u67d0\u4e2a\u7279\u5b9a\u4e8b\u4ef6\u53d1\u751f\u65f6\u88ab\u8c03\u7528\u7684\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u4e3a\u4ec0\u4e48\u9700\u8981<\/strong>\uff1a\u4e3a\u4e86\u5b9e\u73b0<strong>\u53cd\u5411\u8c03\u7528<\/strong>\u548c<strong>\u7075\u6d3b\u6027<\/strong>\u3002\u5141\u8bb8\u5e95\u5c42\u4ee3\u7801\u8c03\u7528\u9ad8\u5c42\u4ee3\u7801\uff0c\u589e\u5f3a\u4e86\u6a21\u5757\u95f4\u7684\u72ec\u7acb\u6027\u548c\u53ef\u6269\u5c55\u6027\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0\u65b9\u5f0f<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u51fd\u6570\u6307\u9488<\/strong>\uff1aC\u98ce\u683c\u3002<\/li>\n\n\n\n<li><strong>\u4eff\u51fd\u6570<\/strong>\uff1a\u91cd\u8f7d\u4e86<code>operator()<\/code>\u7684\u7c7b\u3002<\/li>\n\n\n\n<li><strong><code>std::function<\/code><\/strong>\uff1aC++11\uff0c\u66f4\u901a\u7528\u3002<\/li>\n\n\n\n<li><strong>Lambda\u8868\u8fbe\u5f0f<\/strong>\uff1aC++11\uff0c\u65b9\u4fbfinline\u5b9a\u4e49\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">158. C++\u4e2d\u4e3a\u4ec0\u4e48\u8981\u4f7f\u7528nullptr\u800c\u4e0d\u662fNULL<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7c7b\u578b\u5b89\u5168<\/strong>\uff1a<code>NULL<\/code>\u5728C++\u4e2d\u901a\u5e38\u88ab\u5b9a\u4e49\u4e3a<code>0<\/code>\u6216<code>(void*)0<\/code>\uff0c\u662f\u4e00\u4e2a\u6574\u578b\u5e38\u91cf\u3002\u800c<code>nullptr<\/code>\u662f<code>std::nullptr_t<\/code>\u7c7b\u578b\uff0c\u53ef\u4ee5\u9690\u5f0f\u8f6c\u6362\u4e3a\u4efb\u4f55\u6307\u9488\u7c7b\u578b\uff0c\u4f46\u4e0d\u80fd\u8f6c\u6362\u4e3a\u6574\u6570\u7c7b\u578b\u3002\u8fd9\u907f\u514d\u4e86\u5728\u51fd\u6570\u91cd\u8f7d\u65f6\u53ef\u80fd\u51fa\u73b0\u7684\u6b67\u4e49\u3002cpp\u590d\u5236\u4e0b\u8f7dvoid func(int); void func(char*); func(NULL); \/\/ \u53ef\u80fd\u8c03\u7528func(int)\uff0c\u4f46\u610f\u56fe\u53ef\u80fd\u662ffunc(char*) func(nullptr); \/\/ \u660e\u786e\u8c03\u7528func(char*)<\/li>\n\n\n\n<li><strong>\u4ee3\u7801\u6e05\u6670<\/strong>\uff1a<code>nullptr<\/code>\u660e\u786e\u8868\u793a\u7a7a\u6307\u9488\uff0c\u63d0\u9ad8\u4e86\u4ee3\u7801\u7684\u53ef\u8bfb\u6027\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">159. C++\u662f\u5426\u53ef\u4ee5include\u6e90\u6587\u4ef6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u6280\u672f\u4e0a\u53ef\u4ee5\uff0c\u4f46\u5f3a\u70c8\u4e0d\u63a8\u8350\u3002<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>#include \"file.cpp\"<\/code>\u53ef\u4ee5\u5c06\u6e90\u6587\u4ef6\u7684\u5185\u5bb9\u5305\u542b\u5230\u53e6\u4e00\u4e2a\u6587\u4ef6\u4e2d\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u591a\u6b21\u5b9a\u4e49<\/strong>\uff1a\u5982\u679c\u591a\u4e2a\u6e90\u6587\u4ef6\u90fd\u5305\u542b\u4e86\u540c\u4e00\u4e2a<code>.cpp<\/code>\u6587\u4ef6\uff0c\u4f1a\u5bfc\u81f4\u51fd\u6570\u3001\u53d8\u91cf\u7b49\u88ab\u591a\u6b21\u5b9a\u4e49\uff0c\u94fe\u63a5\u9519\u8bef\u3002<\/li>\n\n\n\n<li><strong>\u7834\u574f\u6a21\u5757\u5316<\/strong>\uff1a\u8fdd\u80cc\u4e86\u5206\u79bb\u7f16\u8bd1\u7684\u539f\u5219\uff0c\u4f7f\u5f97\u7f16\u8bd1\u65f6\u95f4\u53d8\u957f\uff0c\u4f9d\u8d56\u5173\u7cfb\u6df7\u4e71\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u6b63\u786e\u505a\u6cd5<\/strong>\uff1a\u5c06\u58f0\u660e\u653e\u5728\u5934\u6587\u4ef6\uff08<code>.h<\/code>\uff09\u4e2d\uff0c\u5b9a\u4e49\u653e\u5728\u6e90\u6587\u4ef6\uff08<code>.cpp<\/code>\uff09\u4e2d\uff0c\u7136\u540e\u4f7f\u7528<code>#include \"header.h\"<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">160. C++\u4e2d\u547d\u540d\u7a7a\u95f4\u6709\u4ec0\u4e48\u4f5c\u7528\uff0c\u5982\u4f55\u4f7f\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u89e3\u51b3\u540d\u79f0\u51b2\u7a81\u95ee\u9898\uff0c\u5c06\u5168\u5c40\u4f5c\u7528\u57df\u5212\u5206\u4e3a\u4e0d\u540c\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u907f\u514d\u4e0d\u540c\u5e93\u4e2d\u7684\u540c\u540d\u6807\u8bc6\u7b26\u51b2\u7a81\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49\u547d\u540d\u7a7a\u95f4<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dnamespace MyNamespace { int variable; void function(); }<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u6210\u5458<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528\u57df\u89e3\u6790\u8fd0\u7b97\u7b26<\/strong>\uff1a<code>MyNamespace::variable<\/code><\/li>\n\n\n\n<li><strong>using\u58f0\u660e<\/strong>\uff1a<code>using MyNamespace::variable;<\/code>\uff08\u5f15\u5165\u7279\u5b9a\u6210\u5458\uff09<\/li>\n\n\n\n<li><strong>using\u6307\u4ee4<\/strong>\uff1a<code>using namespace MyNamespace;<\/code>\uff08\u5f15\u5165\u6574\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u614e\u7528\uff0c\u6613\u5f15\u8d77\u51b2\u7a81\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u533f\u540d\u547d\u540d\u7a7a\u95f4<\/strong>\uff1a\u7528\u4e8e\u5b9a\u4e49\u4ec5\u5728\u5f53\u524d\u6587\u4ef6\u5185\u53ef\u89c1\u7684\u6807\u8bc6\u7b26\uff0c\u66ff\u4ee3C\u4e2d\u7684<code>static<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">161. C++\u4e2d\u5982\u4f55\u8bbe\u8ba1\u4e00\u4e2a\u7ebf\u7a0b\u5b89\u5168\u7684\u7c7b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8bbe\u8ba1\u7ebf\u7a0b\u5b89\u5168\u7684\u7c7b\u9700\u8981\u786e\u4fdd\u591a\u4e2a\u7ebf\u7a0b\u540c\u65f6\u8bbf\u95ee\u8be5\u7c7b\u7684\u5bf9\u8c61\u65f6\uff0c\u5176\u884c\u4e3a\u662f\u6b63\u786e\u7684\u3002\u4e3b\u8981\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u4e92\u65a5\u91cf<\/strong>\uff1a\u5728\u7c7b\u7684\u6210\u5458\u51fd\u6570\u4e2d\uff0c\u4f7f\u7528<code>std::mutex<\/code>\u7b49\u9501\u673a\u5236\u6765\u4fdd\u62a4\u5171\u4eab\u6570\u636e\u3002\u786e\u4fdd\u5728\u4fee\u6539\u6570\u636e\u524d\u52a0\u9501\uff0c\u4fee\u6539\u540e\u89e3\u9501\u3002<\/li>\n\n\n\n<li><strong>\u63a5\u53e3\u8bbe\u8ba1<\/strong>\uff1a\u63d0\u4f9b\u539f\u5b50\u64cd\u4f5c\u63a5\u53e3\uff0c\u907f\u514d\u7528\u6237\u9700\u8981\u624b\u52a8\u7ba1\u7406\u9501\u3002<\/li>\n\n\n\n<li><strong>\u907f\u514d\u6b7b\u9501<\/strong>\uff1a\u5982\u679c\u591a\u4e2a\u4e92\u65a5\u91cf\uff0c\u6309\u56fa\u5b9a\u987a\u5e8f\u83b7\u53d6\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528RAII\u7ba1\u7406\u9501<\/strong>\uff1a\u5982<code>std::lock_guard<\/code>\uff0c\u786e\u4fdd\u5f02\u5e38\u5b89\u5168\u3002<\/li>\n\n\n\n<li><strong>\u8c28\u614e\u5904\u7406\u8fd4\u56de\u5f15\u7528\u6216\u6307\u9488<\/strong>\uff1a\u907f\u514d\u5c06\u5185\u90e8\u6570\u636e\u7684\u5f15\u7528\u6216\u6307\u9488\u8fd4\u56de\u7ed9\u5916\u90e8\uff0c\u5bfc\u81f4\u9501\u5931\u6548\u540e\u7684\u6570\u636e\u7ade\u4e89\u3002<\/li>\n\n\n\n<li><strong>\u8003\u8651\u62f7\u8d1d\u8bed\u4e49<\/strong>\uff1a\u5982\u679c\u5bf9\u8c61\u9700\u8981\u62f7\u8d1d\uff0c\u9700\u51b3\u5b9a\u662f\u6df1\u62f7\u8d1d\u8fd8\u662f\u5176\u4ed6\u65b9\u5f0f\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">162. C++\u5982\u4f55\u8c03\u7528C\u8bed\u8a00\u7684\u5e93<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++\u8c03\u7528C\u5e93\u7684\u5173\u952e\u5728\u4e8e\u4f7f\u7528<code>extern \"C\"<\/code>\uff0c\u56e0\u4e3aC++\u652f\u6301\u51fd\u6570\u91cd\u8f7d\uff0c\u4f1a\u8fdb\u884c\u540d\u79f0\u4fee\u9970\uff0c\u800cC\u4e0d\u4f1a\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6b65\u9aa4<\/strong>\uff1a<ol start=\"\"><li>\u5728C++\u4ee3\u7801\u4e2d\uff0c\u7528<code>extern \"C\"<\/code>\u5305\u542bC\u5e93\u7684\u5934\u6587\u4ef6\u3002<\/li><li>\u94fe\u63a5\u65f6\u5305\u542bC\u5e93\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\uff08\u5982<code>.a<\/code>\u6216<code>.so<\/code>\uff09\u3002<\/li><\/ol>cpp\u590d\u5236\u4e0b\u8f7d\/\/ C++ code extern &#8220;C&#8221; { #include &#8220;c_library.h&#8221; } int main() { c_function(); \/\/ \u8c03\u7528C\u5e93\u4e2d\u7684\u51fd\u6570 return 0; }<\/li>\n\n\n\n<li>\u4e5f\u53ef\u4ee5\u5728C\u5e93\u7684\u5934\u6587\u4ef6\u4e2d\u4f7f\u7528<code>#ifdef __cplusplus<\/code>\u6765\u4f7f\u5176\u540c\u65f6\u9002\u7528\u4e8eC\u548cC++\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">163. \u4ec0\u4e48\u662fC++\u4e2d\u7684auto\u548cdecltype<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>auto<\/code><\/strong>\uff1a\u7528\u4e8e<strong>\u81ea\u52a8\u7c7b\u578b\u63a8\u5bfc<\/strong>\u3002\u7f16\u8bd1\u5668\u6839\u636e\u521d\u59cb\u5316\u8868\u8fbe\u5f0f\u81ea\u52a8\u63a8\u5bfc\u53d8\u91cf\u7684\u7c7b\u578b\u3002<ul><li>\u4f18\u70b9\uff1a\u7b80\u5316\u4ee3\u7801\uff0c\u7279\u522b\u662f\u590d\u6742\u7c7b\u578b\uff08\u5982\u8fed\u4ee3\u5668\u3001lambda\u8868\u8fbe\u5f0f\uff09\u3002<\/li><li>\u6ce8\u610f\uff1a<code>auto<\/code>\u4f1a\u5ffd\u7565\u5f15\u7528\u548c\u9876\u5c42const\uff0c\u9664\u975e\u663e\u5f0f\u6307\u5b9a\uff08\u5982<code>auto&amp;<\/code>\uff09\u3002<\/li><\/ul>cpp\u590d\u5236\u4e0b\u8f7dauto i = 42; \/\/ i\u662fint auto&amp; r = i; \/\/ r\u662fint&amp;<\/li>\n\n\n\n<li><strong><code>decltype<\/code><\/strong>\uff1a\u7528\u4e8e<strong>\u67e5\u8be2\u8868\u8fbe\u5f0f\u7684\u7c7b\u578b<\/strong>\uff0c\u4f46\u4e0d\u8ba1\u7b97\u8868\u8fbe\u5f0f\u7684\u503c\u3002<ul><li>\u7528\u9014\uff1a\u58f0\u660e\u4e0e\u67d0\u4e2a\u8868\u8fbe\u5f0f\u7c7b\u578b\u76f8\u540c\u7684\u53d8\u91cf\uff1b\u7528\u4e8e\u6a21\u677f\u7f16\u7a0b\u4e2d\u4f9d\u8d56\u8868\u8fbe\u5f0f\u7684\u8fd4\u56de\u7c7b\u578b\u3002<\/li><\/ul>cpp\u590d\u5236\u4e0b\u8f7dint x = 10; decltype(x) y = 20; \/\/ y\u7684\u7c7b\u578b\u662fint decltype((x)) z = y; \/\/ z\u7684\u7c7b\u578b\u662fint&amp;\uff0c\u56e0\u4e3a(x)\u662f\u4e00\u4e2a\u5de6\u503c\u8868\u8fbe\u5f0f<\/li>\n\n\n\n<li><strong><code>decltype(auto)<\/code><\/strong>\uff1aC++14\uff0c\u7ed3\u5408\u4e24\u8005\uff0c\u7528<code>decltype<\/code>\u7684\u89c4\u5219\u6765\u63a8\u5bfc<code>auto<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">164. C++\u4e2dmalloc\u7533\u8bf7\u7684\u5185\u5b58\uff0c\u53ef\u4ee5delete\u91ca\u653e\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u4e0d\u53ef\u4ee5\u3002<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>malloc<\/code>\u548c<code>free<\/code>\u662fC\u5e93\u51fd\u6570\uff0c\u800c<code>new<\/code>\u548c<code>delete<\/code>\u662fC++\u8fd0\u7b97\u7b26\u3002<\/li>\n\n\n\n<li><code>new<\/code>\u4f1a\u8c03\u7528\u6784\u9020\u51fd\u6570\uff0c<code>delete<\/code>\u4f1a\u8c03\u7528\u6790\u6784\u51fd\u6570\u3002<\/li>\n\n\n\n<li><code>malloc<\/code>\u5206\u914d\u7684\u5185\u5b58\u53ea\u80fd\u7528<code>free<\/code>\u91ca\u653e\uff0c<code>new<\/code>\u5206\u914d\u7684\u5185\u5b58\u53ea\u80fd\u7528<code>delete<\/code>\u91ca\u653e\u3002<\/li>\n\n\n\n<li><strong>\u6df7\u7528\u4f1a\u5bfc\u81f4\u672a\u5b9a\u4e49\u884c\u4e3a<\/strong>\uff0c\u53ef\u80fd\u5f15\u53d1\u5185\u5b58\u6cc4\u6f0f\u3001\u7a0b\u5e8f\u5d29\u6e83\u7b49\u95ee\u9898\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">165. \u5185\u5b58\u6cc4\u6f0f\u7684\u7ecf\u5178\u573a\u666f\uff0c\u5982\u4f55\u907f\u514d\u5185\u5b58\u6cc4\u6f0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ecf\u5178\u573a\u666f<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u76f4\u63a5\u6cc4\u6f0f<\/strong>\uff1a<code>new<\/code>\u4e4b\u540e\u6ca1\u6709\u5bf9\u5e94\u7684<code>delete<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5bfc\u81f4\u6cc4\u6f0f<\/strong>\uff1a\u5728<code>new<\/code>\u548c<code>delete<\/code>\u4e4b\u95f4\u53d1\u751f\u5f02\u5e38\uff0c<code>delete<\/code>\u672a\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u5bb9\u5668\u4e2d\u7684\u6307\u9488<\/strong>\uff1a\u5bb9\u5668\u9500\u6bc1\u65f6\uff0c\u5176\u4e2d\u7684\u6307\u9488\u6307\u5411\u7684\u5bf9\u8c61\u4e0d\u4f1a\u88ab\u81ea\u52a8\u5220\u9664\u3002<\/li>\n\n\n\n<li><strong>\u5faa\u73af\u5f15\u7528<\/strong>\uff1a\u4f7f\u7528<code>shared_ptr<\/code>\u65f6\uff0c\u4e24\u4e2a\u5bf9\u8c61\u4e92\u76f8\u6301\u6709\u5bf9\u65b9\u7684<code>shared_ptr<\/code>\uff0c\u5bfc\u81f4\u5f15\u7528\u8ba1\u6570\u6c38\u4e0d\u4e3a0\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u907f\u514d\u65b9\u6cd5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528RAII<\/strong>\uff1a\u5c06\u8d44\u6e90\u7ba1\u7406\u5c01\u88c5\u5728\u5bf9\u8c61\u4e2d\uff0c\u5229\u7528\u6790\u6784\u51fd\u6570\u81ea\u52a8\u91ca\u653e\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u667a\u80fd\u6307\u9488<\/strong>\uff1a<code>unique_ptr<\/code>\u3001<code>shared_ptr<\/code>\u3001<code>weak_ptr<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u9075\u5faa\u8c01\u7533\u8bf7\u8c01\u91ca\u653e\u7684\u539f\u5219<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u5bb9\u5668\u7ba1\u7406\u5bf9\u8c61<\/strong>\uff1a\u76f4\u63a5\u5b58\u50a8\u5bf9\u8c61\u800c\u975e\u6307\u9488\uff08\u5982<code>vector&lt;MyObject><\/code>\u800c\u975e<code>vector&lt;MyObject*><\/code>\uff09\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">166. \u8bf7\u4ecb\u7ecdC++\u4e2dunique_ptr\uff0cshared_ptr\uff0cweak_ptr\u7684\u539f\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>unique_ptr<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u7406<\/strong>\uff1a\u72ec\u5360\u6240\u6709\u6743\u3002\u5185\u90e8\u4fdd\u5b58\u4e00\u4e2a\u6307\u9488\uff0c\u5728<code>unique_ptr<\/code>\u6790\u6784\u65f6\uff0c\u81ea\u52a8\u91ca\u653e\u5176\u7ba1\u7406\u7684\u5bf9\u8c61\u3002\u7981\u6b62\u62f7\u8d1d\uff0c\u5141\u8bb8\u79fb\u52a8\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u901a\u5e38\u4f7f\u7528RAII\u6a21\u5f0f\uff0c\u5728\u6790\u6784\u51fd\u6570\u4e2d\u8c03\u7528<code>delete<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>shared_ptr<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u7406<\/strong>\uff1a\u5171\u4eab\u6240\u6709\u6743\u3002\u4f7f\u7528\u5f15\u7528\u8ba1\u6570\u3002\u591a\u4e2a<code>shared_ptr<\/code>\u53ef\u4ee5\u6307\u5411\u540c\u4e00\u4e2a\u5bf9\u8c61\uff0c\u5f53\u6700\u540e\u4e00\u4e2a<code>shared_ptr<\/code>\u88ab\u9500\u6bc1\u65f6\uff0c\u5bf9\u8c61\u624d\u88ab\u91ca\u653e\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u5185\u90e8\u5305\u542b\u4e24\u4e2a\u6307\u9488\uff1a\u4e00\u4e2a\u6307\u5411\u7ba1\u7406\u7684\u5bf9\u8c61\uff0c\u4e00\u4e2a\u6307\u5411\u63a7\u5236\u5757\uff08\u5305\u542b\u5f15\u7528\u8ba1\u6570\u3001\u5f31\u5f15\u7528\u8ba1\u6570\u3001\u5220\u9664\u5668\u7b49\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>weak_ptr<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u7406<\/strong>\uff1a\u5f31\u5f15\u7528\u3002\u4e0d\u63a7\u5236\u5bf9\u8c61\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u589e\u52a0\u5f15\u7528\u8ba1\u6570\u3002\u7528\u4e8e\u89e3\u51b3<code>shared_ptr<\/code>\u7684\u5faa\u73af\u5f15\u7528\u95ee\u9898\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u4e0e<code>shared_ptr<\/code>\u5171\u4eab\u63a7\u5236\u5757\uff0c\u4f46\u53ea\u589e\u52a0\u5f31\u5f15\u7528\u8ba1\u6570\u3002\u901a\u8fc7<code>lock()<\/code>\u65b9\u6cd5\u5c1d\u8bd5\u83b7\u53d6\u4e00\u4e2a\u6709\u6548\u7684<code>shared_ptr<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">167. C++\u4e2d\u4e3a\u4ec0\u4e48\u8981\u5f15\u5165make_shared\uff0c\u5b83\u6709\u4ec0\u4e48\u4f18\u70b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>make_shared<\/code>\u662f\u7528\u4e8e\u521b\u5efa<code>shared_ptr<\/code>\u7684\u5de5\u5382\u51fd\u6570\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6548\u7387\u66f4\u9ad8<\/strong>\uff1a<code>make_shared<\/code>\u4f1a\u4e00\u6b21\u6027\u5206\u914d\u5185\u5b58\uff0c\u540c\u65f6\u5b58\u50a8\u5bf9\u8c61\u672c\u8eab\u548c\u63a7\u5236\u5757\uff08\u5f15\u7528\u8ba1\u6570\u7b49\uff09\u3002\u800c\u76f4\u63a5\u4f7f\u7528<code>shared_ptr<\/code>\u7684\u6784\u9020\u51fd\u6570\u53ef\u80fd\u9700\u8981\u4e24\u6b21\u5206\u914d\uff08\u5bf9\u8c61\u548c\u63a7\u5236\u5757\u5206\u5f00\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5b89\u5168<\/strong>\uff1a\u5728\u51fd\u6570\u53c2\u6570\u4f20\u9012\u65f6\uff0c\u4f7f\u7528<code>make_shared<\/code>\u53ef\u4ee5\u907f\u514d\u56e0\u53c2\u6570\u6c42\u503c\u987a\u5e8f\u5bfc\u81f4\u7684\u6f5c\u5728\u5185\u5b58\u6cc4\u6f0f\u3002cpp\u590d\u5236\u4e0b\u8f7d\/\/ \u53ef\u80fd\u6cc4\u6f0f\uff1a\u5982\u679cnew\u6210\u529f\uff0c\u4f46shared_ptr\u6784\u9020\u51fd\u6570\u4e4b\u524d\u53d1\u751f\u5f02\u5e38 process_shared(std::shared_ptr&lt;MyClass>(new MyClass), some_function()); \/\/ \u5b89\u5168\uff1amake_shared\u662f\u539f\u5b50\u64cd\u4f5c process_shared(std::make_shared&lt;MyClass>(), some_function());<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u7531\u4e8e\u5bf9\u8c61\u548c\u63a7\u5236\u5757\u5728\u4e00\u8d77\uff0c\u5373\u4f7f<code>shared_ptr<\/code>\u5168\u90e8\u6790\u6784\uff0c\u5982\u679c\u8fd8\u6709<code>weak_ptr<\/code>\u5b58\u5728\uff0c\u5bf9\u8c61\u5360\u7528\u7684\u5185\u5b58\u53ef\u80fd\u4e0d\u4f1a\u7acb\u5373\u91ca\u653e\uff08\u56e0\u4e3a\u63a7\u5236\u5757\u8fd8\u5728\u88ab\u5f31\u5f15\u7528\u8ba1\u6570\u4f7f\u7528\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">168. C++\u4e2dshared_from_this\u7684\u4f5c\u7528\u662f\u4ec0\u4e48\uff0c\u5b83\u6709\u4ec0\u4e48\u4f18\u70b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u5f53\u4e00\u4e2a\u7c7b\u9700\u8981\u88ab<code>shared_ptr<\/code>\u7ba1\u7406\uff0c\u5e76\u4e14\u9700\u8981\u5728\u5176\u6210\u5458\u51fd\u6570\u4e2d\u83b7\u53d6\u6307\u5411\u81ea\u8eab\u7684<code>shared_ptr<\/code>\u65f6\uff0c\u4f7f\u7528<code>shared_from_this<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u7528\u6cd5<\/strong>\uff1a\u7c7b\u9700\u8981\u516c\u6709\u7ee7\u627f<code>std::enable_shared_from_this&lt;T><\/code>\uff0c\u7136\u540e\u5c31\u53ef\u4ee5\u5728\u6210\u5458\u51fd\u6570\u4e2d\u8c03\u7528<code>shared_from_this()<\/code>\u6765\u83b7\u53d6\u4e00\u4e2a\u4e0e\u5df2\u6709<code>shared_ptr<\/code>\u5171\u4eab\u6240\u6709\u6743\u7684<code>shared_ptr<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u5b89\u5168\u5730\u83b7\u53d6\u6307\u5411\u5f53\u524d\u5bf9\u8c61\u7684<code>shared_ptr<\/code>\uff0c\u907f\u514d\u76f4\u63a5\u4f7f\u7528<code>this<\/code>\u521b\u5efa\u65b0\u7684<code>shared_ptr<\/code>\uff08\u4f1a\u5bfc\u81f4\u591a\u4e2a\u72ec\u7acb\u7684<code>shared_ptr<\/code>\u7ba1\u7406\u540c\u4e00\u4e2a\u5bf9\u8c61\uff0c\u4ece\u800c\u591a\u6b21\u6790\u6784\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6ce8\u610f<\/strong>\uff1a\u5728\u8c03\u7528<code>shared_from_this()<\/code>\u4e4b\u524d\uff0c\u5fc5\u987b\u5df2\u7ecf\u6709\u4e00\u4e2a<code>shared_ptr<\/code>\u7ba1\u7406\u8be5\u5bf9\u8c61\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">169. C++\u7684string\u5185\u90e8\u4f7f\u7528\u7684\u662f\u5806\u5185\u5b58\u8fd8\u662f\u6808\u5185\u5b58<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u53d6\u51b3\u4e8e\u5b9e\u73b0\u548c\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\u3002\u73b0\u4ee3C++\u6807\u51c6\u5e93\u7684<code>std::string<\/code>\u901a\u5e38\u91c7\u7528<strong>\u77ed\u5b57\u7b26\u4e32\u4f18\u5316<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u77ed\u5b57\u7b26\u4e32<\/strong>\uff1a\u5f53\u5b57\u7b26\u4e32\u957f\u5ea6\u8f83\u77ed\uff08\u4f8b\u598215\u621622\u5b57\u7b26\uff0c\u53d6\u51b3\u4e8e\u5b9e\u73b0\uff09\u65f6\uff0c<code>string<\/code>\u5bf9\u8c61\u4f1a\u76f4\u63a5\u5c06\u5b57\u7b26\u4e32\u5185\u5bb9\u5b58\u50a8\u5728\u81ea\u8eab\u7684\u6808\u5185\u5b58\u4e2d\uff08\u5373\u5bf9\u8c61\u5185\u90e8\u7684\u4e00\u4e2a\u5c0f\u6570\u7ec4\uff09\uff0c\u907f\u514d\u52a8\u6001\u5185\u5b58\u5206\u914d\u3002<\/li>\n\n\n\n<li><strong>\u957f\u5b57\u7b26\u4e32<\/strong>\uff1a\u5f53\u5b57\u7b26\u4e32\u957f\u5ea6\u8d85\u8fc7\u8fd9\u4e2a\u9608\u503c\u65f6\uff0c<code>string<\/code>\u4f1a\u5728\u5806\u4e0a\u5206\u914d\u5185\u5b58\u6765\u5b58\u50a8\u5b57\u7b26\u4e32\u5185\u5bb9\u3002<\/li>\n\n\n\n<li>\u56e0\u6b64\uff0c<code>string<\/code>\u5bf9\u8c61\u7684\u5927\u5c0f\u662f\u56fa\u5b9a\u7684\uff08\u901a\u5e38\u4e3a24\u621632\u5b57\u8282\uff09\uff0c\u4e0e\u5b57\u7b26\u4e32\u957f\u5ea6\u65e0\u5173\uff08\u77ed\u5b57\u7b26\u4e32\u76f4\u63a5\u5185\u5d4c\uff0c\u957f\u5b57\u7b26\u4e32\u5b58\u50a8\u6307\u5411\u5806\u5185\u5b58\u7684\u6307\u9488\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">170. C++\u4e2dfuture\uff0cpromise\uff0cpackaged_task\uff0casync\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u4e9b\u90fd\u662fC++11\u5f15\u5165\u7684\u7528\u4e8e\u5f02\u6b65\u7f16\u7a0b\u7684\u7ec4\u4ef6\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>std::promise<\/code><\/strong>\uff1a\u63d0\u4f9b\u4e86\u4e00\u79cd\u8bbe\u7f6e\u503c\uff08\u6216\u5f02\u5e38\uff09\u7684\u65b9\u5f0f\uff0c\u4ee5\u4fbf\u5728\u5c06\u6765\u901a\u8fc7\u4e0e\u4e4b\u5173\u8054\u7684<code>future<\/code>\u6765\u83b7\u53d6\u3002\u7528\u4e8e\u5728\u7ebf\u7a0b\u4e4b\u95f4\u4f20\u9012\u7ed3\u679c\u3002<\/li>\n\n\n\n<li><strong><code>std::future<\/code><\/strong>\uff1a\u8868\u793a\u4e00\u4e2a\u5f02\u6b65\u64cd\u4f5c\u7684\u7ed3\u679c\u3002\u53ef\u4ee5\u901a\u8fc7\u5b83\u83b7\u53d6<code>promise<\/code>\u8bbe\u7f6e\u7684\u503c\uff0c\u7b49\u5f85\u5f02\u6b65\u64cd\u4f5c\u5b8c\u6210\u3002<\/li>\n\n\n\n<li><strong><code>std::packaged_task<\/code><\/strong>\uff1a\u5c06\u4e00\u4e2a\u53ef\u8c03\u7528\u5bf9\u8c61\uff08\u51fd\u6570\u3001lambda\u7b49\uff09\u5305\u88c5\u8d77\u6765\uff0c\u4f7f\u5176\u53ef\u4ee5\u5f02\u6b65\u6267\u884c\u3002\u5b83\u5185\u90e8\u5305\u542b\u4e00\u4e2a<code>promise<\/code>\uff0c\u7528\u4e8e\u5b58\u50a8\u6267\u884c\u7ed3\u679c\u3002\u8fd4\u56de\u4e00\u4e2a<code>future<\/code>\u3002<\/li>\n\n\n\n<li><strong><code>std::async<\/code><\/strong>\uff1a\u4e00\u4e2a\u66f4\u9ad8\u7ea7\u7684\u63a5\u53e3\uff0c\u7528\u4e8e\u542f\u52a8\u4e00\u4e2a\u5f02\u6b65\u4efb\u52a1\u3002\u5b83\u8fd4\u56de\u4e00\u4e2a<code>future<\/code>\u3002\u53ef\u4ee5\u6307\u5b9a\u542f\u52a8\u7b56\u7565\uff08\u7acb\u5373\u542f\u52a8\u3001\u5ef6\u8fdf\u542f\u52a8\u7b49\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5173\u7cfb<\/strong>\uff1a<code>async<\/code>\u5185\u90e8\u53ef\u80fd\u4f7f\u7528<code>packaged_task<\/code>\u548c<code>thread<\/code>\uff0c\u800c<code>packaged_task<\/code>\u5185\u90e8\u4f7f\u7528<code>promise<\/code>\u548c<code>future<\/code>\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">171. C++\u7684async\u4f7f\u7528\u65f6\u6709\u54ea\u4e9b\u6ce8\u610f\u4e8b\u9879<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u542f\u52a8\u7b56\u7565<\/strong>\uff1a<code>std::async<\/code>\u53ef\u4ee5\u63a5\u53d7\u542f\u52a8\u7b56\u7565\uff1a\n<ul class=\"wp-block-list\">\n<li><code>std::launch::async<\/code>\uff1a\u5728\u65b0\u7ebf\u7a0b\u4e2d\u5f02\u6b65\u6267\u884c\u3002<\/li>\n\n\n\n<li><code>std::launch::deferred<\/code>\uff1a\u5ef6\u8fdf\u6267\u884c\uff0c\u76f4\u5230\u5728<code>future<\/code>\u4e0a\u8c03\u7528<code>get()<\/code>\u6216<code>wait()<\/code>\u65f6\u624d\u6267\u884c\u3002<\/li>\n\n\n\n<li>\u9ed8\u8ba4\u7b56\u7565\uff08\u4e0d\u6307\u5b9a\uff09\u662f\u5b9e\u73b0\u5b9a\u4e49\u7684\uff0c\u53ef\u80fd\u662f\u4e24\u8005\u4e4b\u4e00\u6216\u4e24\u8005\u7684\u7ec4\u5408\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5904\u7406<\/strong>\uff1a\u5f02\u6b65\u51fd\u6570\u4e2d\u629b\u51fa\u7684\u5f02\u5e38\u4f1a\u5728\u8c03\u7528<code>future::get()<\/code>\u65f6\u91cd\u65b0\u629b\u51fa\u3002<\/li>\n\n\n\n<li><strong>\u751f\u547d\u5468\u671f\u95ee\u9898<\/strong>\uff1a\u786e\u4fdd\u4f20\u9012\u7ed9<code>async<\/code>\u7684\u53c2\u6570\u5728\u5f02\u6b65\u4efb\u52a1\u6267\u884c\u671f\u95f4\u4fdd\u6301\u6709\u6548\u3002\u7279\u522b\u662f\u6309\u5f15\u7528\u4f20\u9012\u65f6\u3002<\/li>\n\n\n\n<li><strong>\u8d44\u6e90\u7ba1\u7406<\/strong>\uff1a\u5373\u4f7f\u4e0d\u8c03\u7528<code>future::get()<\/code>\uff0c<code>async<\/code>\u8fd4\u56de\u7684<code>future<\/code>\u6790\u6784\u65f6\u4e5f\u4f1a\u7b49\u5f85\u4efb\u52a1\u5b8c\u6210\uff08\u5bf9\u4e8e<code>async<\/code>\u7b56\u7565\uff09\u3002\u4f46\u6700\u597d\u663e\u5f0f\u4fdd\u5b58<code>future<\/code>\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd\u8003\u8651<\/strong>\uff1a\u5bf9\u4e8e\u975e\u5e38\u5c0f\u7684\u4efb\u52a1\uff0c\u521b\u5efa\u7ebf\u7a0b\u7684\u5f00\u9500\u53ef\u80fd\u5927\u4e8e\u4efb\u52a1\u672c\u8eab\u7684\u8ba1\u7b97\u5f00\u9500\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">172. \u5982\u4f55\u7406\u89e3C++\u4e2d\u7684atomic<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>std::atomic<\/code>\u662fC++11\u5f15\u5165\u7684\u6a21\u677f\u7c7b\uff0c\u7528\u4e8e\u63d0\u4f9b<strong>\u539f\u5b50\u64cd\u4f5c<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u5b50\u64cd\u4f5c<\/strong>\uff1a\u4e0d\u53ef\u88ab\u4e2d\u65ad\u7684\u64cd\u4f5c\uff0c\u8981\u4e48\u5b8c\u5168\u6267\u884c\uff0c\u8981\u4e48\u5b8c\u5168\u4e0d\u6267\u884c\u3002\u5728\u591a\u7ebf\u7a0b\u73af\u5883\u4e2d\uff0c\u539f\u5b50\u64cd\u4f5c\u53ef\u4ee5\u786e\u4fdd\u6570\u636e\u7ade\u4e89\u7684\u907f\u514d\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u65e0\u9700\u4f7f\u7528\u9501\u5c31\u53ef\u4ee5\u5b9e\u73b0\u7b80\u5355\u7684\u7ebf\u7a0b\u5b89\u5168\u64cd\u4f5c\uff0c\u6027\u80fd\u66f4\u9ad8\u3002<\/li>\n\n\n\n<li><strong>\u652f\u6301\u7684\u7c7b\u578b<\/strong>\uff1a\u57fa\u672c\u6570\u636e\u7c7b\u578b\uff08\u5982<code>int<\/code>, <code>long<\/code>\uff09\u4ee5\u53ca\u6307\u9488\u3002\u5bf9\u4e8e\u5176\u4ed6\u7c7b\u578b\uff0c\u53ef\u4ee5\u4f7f\u7528<code>std::atomic&lt;T><\/code>\uff0c\u4f46\u9700\u8981\u6ee1\u8db3\u4e00\u5b9a\u7684\u6761\u4ef6\u3002<\/li>\n\n\n\n<li><strong>\u5e38\u7528\u64cd\u4f5c<\/strong>\uff1a<code>load()<\/code>, <code>store()<\/code>, <code>exchange()<\/code>, <code>compare_exchange_strong\/weak()<\/code>\u7b49\uff0c\u4ee5\u53ca\u8fd0\u7b97\u7b26\u91cd\u8f7d\uff08\u5982<code>++<\/code>, <code>+=<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5e8f<\/strong>\uff1a\u539f\u5b50\u64cd\u4f5c\u53ef\u4ee5\u6307\u5b9a\u5185\u5b58\u5e8f\uff08\u5982<code>memory_order_relaxed<\/code>\uff09\uff0c\u63a7\u5236\u64cd\u4f5c\u7684\u5185\u5b58\u53ef\u89c1\u6027\u987a\u5e8f\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">173. \u4ec0\u4e48\u573a\u666f\u4e0b\u4f7f\u7528\u9501\uff0c\u4ec0\u4e48\u573a\u666f\u4e0b\u4f7f\u7528\u539f\u5b50\u53d8\u91cf<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u539f\u5b50\u53d8\u91cf\u7684\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7b80\u5355\u7684<strong>\u8bfb-\u6539-\u5199<\/strong>\u64cd\u4f5c\uff08\u5982\u8ba1\u6570\u5668\u9012\u589e\u9012\u51cf\uff09\u3002<\/li>\n\n\n\n<li>\u6807\u5fd7\u4f4d\u7684\u8bbe\u7f6e\u548c\u68c0\u67e5\u3002<\/li>\n\n\n\n<li>\u5f53\u6027\u80fd\u8981\u6c42\u6781\u9ad8\uff0c\u4e14\u64cd\u4f5c\u7b80\u5355\u65f6\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u9501\u7684\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9700\u8981\u4fdd\u62a4<strong>\u590d\u6742\u7684\u903b\u8f91<\/strong>\u6216<strong>\u591a\u4e2a\u76f8\u5173\u53d8\u91cf<\/strong>\u7684\u4fee\u6539\u3002<\/li>\n\n\n\n<li>\u9700\u8981\u6267\u884c<strong>\u591a\u4e2a\u64cd\u4f5c\u4f5c\u4e3a\u4e00\u4e2a\u539f\u5b50\u5355\u5143<\/strong>\uff08\u4e34\u754c\u533a\uff09\u3002<\/li>\n\n\n\n<li>\u5f53\u64cd\u4f5c\u65e0\u6cd5\u7528\u539f\u5b50\u53d8\u91cf\u7b80\u5355\u8868\u8fbe\u65f6\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b80\u5355\u539f\u5219<\/strong>\uff1a\u5982\u679c\u80fd\u7528\u539f\u5b50\u53d8\u91cf\u89e3\u51b3\u95ee\u9898\uff0c\u4f18\u5148\u4f7f\u7528\u539f\u5b50\u53d8\u91cf\uff1b\u5982\u679c\u9700\u8981\u4fdd\u62a4\u590d\u6742\u903b\u8f91\u6216\u591a\u4e2a\u6570\u636e\uff0c\u4f7f\u7528\u9501\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">174. C++\u4e2d\u9501\u7684\u5e95\u5c42\u539f\u7406\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u9501\u7684\u5e95\u5c42\u5b9e\u73b0\u901a\u5e38\u4f9d\u8d56\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u63d0\u4f9b\u7684\u539f\u5b50\u6307\u4ee4\u548c\u7cfb\u7edf\u8c03\u7528\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u539f\u5b50\u6307\u4ee4<\/strong>\uff1a\u5982CAS\uff08Compare-And-Swap\uff09\uff0c\u7528\u4e8e\u5b9e\u73b0\u81ea\u65cb\u9501\u6216\u66f4\u9ad8\u7ea7\u9501\u7684\u5e95\u5c42\u539f\u8bed\u3002<\/li>\n\n\n\n<li><strong>\u7cfb\u7edf\u8c03\u7528<\/strong>\uff1a\u5982futex\uff08Fast Userspace muTEX\uff09\u5728Linux\u4e0a\u7684\u4f7f\u7528\u3002\u5b83\u7ed3\u5408\u4e86\u7528\u6237\u7a7a\u95f4\u7684\u539f\u5b50\u64cd\u4f5c\u548c\u5185\u6838\u7a7a\u95f4\u7684\u7b49\u5f85\u961f\u5217\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u52a0\u9501\u8fc7\u7a0b<\/strong>\uff1a\u5148\u5c1d\u8bd5\u539f\u5b50\u64cd\u4f5c\u83b7\u53d6\u9501\uff0c\u5982\u679c\u5931\u8d25\uff0c\u5219\u901a\u8fc7\u7cfb\u7edf\u8c03\u7528\u5c06\u7ebf\u7a0b\u653e\u5165\u7b49\u5f85\u961f\u5217\u5e76\u6302\u8d77\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u9501\u8fc7\u7a0b<\/strong>\uff1a\u539f\u5b50\u64cd\u4f5c\u91ca\u653e\u9501\uff0c\u5e76\u901a\u8fc7\u7cfb\u7edf\u8c03\u7528\u5524\u9192\u7b49\u5f85\u961f\u5217\u4e2d\u7684\u7ebf\u7a0b\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5c4f\u969c<\/strong>\uff1a\u786e\u4fdd\u4e34\u754c\u533a\u5185\u7684\u5185\u5b58\u8bbf\u95ee\u4e0d\u4f1a\u4e0e\u9501\u64cd\u4f5c\u91cd\u6392\u5e8f\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">175. C++\u76846\u79cd\u5185\u5b58\u5e8f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++11\u5b9a\u4e49\u4e866\u79cd\u5185\u5b58\u5e8f\uff0c\u7528\u4e8e\u63a7\u5236\u539f\u5b50\u64cd\u4f5c\u7684\u5185\u5b58\u53ef\u89c1\u6027\u987a\u5e8f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>memory_order_relaxed<\/code><\/strong>\uff1a\u6700\u5bbd\u677e\uff0c\u53ea\u4fdd\u8bc1\u539f\u5b50\u6027\uff0c\u4e0d\u63d0\u4f9b\u4efb\u4f55\u987a\u5e8f\u4fdd\u8bc1\u3002<\/li>\n\n\n\n<li><strong><code>memory_order_consume<\/code><\/strong>\uff1a\u5177\u6709\u6570\u636e\u4f9d\u8d56\u5173\u7cfb\u7684\u64cd\u4f5c\u4e0d\u4f1a\u88ab\u91cd\u6392\u5e8f\uff08\u8f83\u5f31\uff0c\u4e0d\u5e38\u7528\uff09\u3002<\/li>\n\n\n\n<li><strong><code>memory_order_acquire<\/code><\/strong>\uff1a\u672c\u7ebf\u7a0b\u4e2d\u6240\u6709\u540e\u7eed\u7684\u8bfb\u64cd\u4f5c\u5fc5\u987b\u5728\u672c\u64cd\u4f5c\u4e4b\u540e\u6267\u884c\uff08\u9632\u6b62\u8bfb\u64cd\u4f5c\u91cd\u6392\u5e8f\u5230acquire\u4e4b\u524d\uff09\u3002<\/li>\n\n\n\n<li><strong><code>memory_order_release<\/code><\/strong>\uff1a\u672c\u7ebf\u7a0b\u4e2d\u6240\u6709\u4e4b\u524d\u7684\u5199\u64cd\u4f5c\u5fc5\u987b\u5728\u672c\u64cd\u4f5c\u4e4b\u524d\u6267\u884c\uff08\u9632\u6b62\u5199\u64cd\u4f5c\u91cd\u6392\u5e8f\u5230release\u4e4b\u540e\uff09\u3002<\/li>\n\n\n\n<li><strong><code>memory_order_acq_rel<\/code><\/strong>\uff1a\u540c\u65f6\u5177\u6709acquire\u548crelease\u7684\u6548\u679c\u3002<\/li>\n\n\n\n<li><strong><code>memory_order_seq_cst<\/code><\/strong>\uff1a\u6700\u4e25\u683c\uff0c\u987a\u5e8f\u4e00\u81f4\u6027\u3002\u6240\u6709\u7ebf\u7a0b\u770b\u5230\u7684\u64cd\u4f5c\u987a\u5e8f\u4e00\u81f4\u3002\u662f\u9ed8\u8ba4\u7684\u5185\u5b58\u5e8f\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">176. C++\u7684\u6761\u4ef6\u53d8\u91cf\u4e3a\u4ec0\u4e48\u8981\u914d\u5408\u9501\u4f7f\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6761\u4ef6\u53d8\u91cf\uff08<code>std::condition_variable<\/code>\uff09\u5fc5\u987b\u4e0e\u9501\uff08\u901a\u5e38\u662f<code>std::mutex<\/code>\uff09\u914d\u5408\u4f7f\u7528\uff0c\u4e3b\u8981\u539f\u56e0\u6709\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u907f\u514d\u7ade\u6001\u6761\u4ef6<\/strong>\uff1a\u5728\u68c0\u67e5\u6761\u4ef6\u548c\u8fdb\u5165\u7b49\u5f85\u4e4b\u95f4\uff0c\u5176\u4ed6\u7ebf\u7a0b\u53ef\u80fd\u4fee\u6539\u6761\u4ef6\u5e76\u53d1\u51fa\u901a\u77e5\u3002\u5982\u679c\u6ca1\u6709\u9501\u4fdd\u62a4\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u901a\u77e5\u4e22\u5931\u3002<\/li>\n\n\n\n<li><strong>\u4fdd\u8bc1\u539f\u5b50\u6027<\/strong>\uff1a\u68c0\u67e5\u6761\u4ef6\u548c\u7b49\u5f85\u64cd\u4f5c\u5fc5\u987b\u662f\u539f\u5b50\u7684\u3002\u5426\u5219\uff0c\u53ef\u80fd\u5728\u68c0\u67e5\u6761\u4ef6\u540e\u3001\u7b49\u5f85\u524d\uff0c\u6761\u4ef6\u88ab\u5176\u4ed6\u7ebf\u7a0b\u6539\u53d8\u3002<\/li>\n\n\n\n<li><strong>\u5185\u90e8\u5b9e\u73b0<\/strong>\uff1a\u6761\u4ef6\u53d8\u91cf\u7684<code>wait<\/code>\u64cd\u4f5c\u4f1a\u5728\u6302\u8d77\u7ebf\u7a0b\u524d<strong>\u81ea\u52a8\u91ca\u653e\u9501<\/strong>\uff0c\u5e76\u5728\u88ab\u5524\u9192\u540e<strong>\u91cd\u65b0\u83b7\u53d6\u9501<\/strong>\u3002\u8fd9\u786e\u4fdd\u4e86\u5728\u7b49\u5f85\u671f\u95f4\uff0c\u5176\u4ed6\u7ebf\u7a0b\u53ef\u4ee5\u83b7\u53d6\u9501\u6765\u4fee\u6539\u6761\u4ef6\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5178\u578b\u7528\u6cd5<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">std::unique_lock&lt;std::mutex&gt; lock(mutex);\nwhile (!condition) {\n    cv.wait(lock); \/\/ wait\u4f1a\u81ea\u52a8\u91ca\u653e\u9501\uff0c\u88ab\u5524\u9192\u540e\u91cd\u65b0\u83b7\u53d6\u9501\n}\n\/\/ \u6761\u4ef6\u6ee1\u8db3\uff0c\u6267\u884c\u64cd\u4f5c<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">177. \u5e73\u65f6\u5f00\u53d1C++\u7a0b\u5e8f\u5904\u7406\u9519\u8bef\u662f\u4f7f\u7528try-catch\u8fd8\u662f\u9519\u8bef\u7801\u65b9\u5f0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u53d6\u51b3\u4e8e\u5177\u4f53\u573a\u666f\u548c\u9879\u76ee\u89c4\u8303\uff0c\u4e24\u8005\u5404\u6709\u4f18\u52a3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5f02\u5e38\uff08try-catch\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u9519\u8bef\u5904\u7406\u4e0e\u6b63\u5e38\u4ee3\u7801\u5206\u79bb\uff0c\u4ee3\u7801\u66f4\u6e05\u6670\uff1b\u80fd\u81ea\u52a8\u4f20\u64ad\u9519\u8bef\u5230\u8c03\u7528\u6808\u4e0a\u5c42\uff1b\u6784\u9020\u51fd\u6570\u4e2d\u62a5\u544a\u9519\u8bef\u7684\u552f\u4e00\u65b9\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u6027\u80fd\u5f00\u9500\uff08\u867d\u7136\u6b63\u5e38\u8def\u5f84\u65e0\u5f00\u9500\uff09\uff1b\u53ef\u80fd\u5bfc\u81f4\u4ee3\u7801\u4e0d\u53ef\u9884\u6d4b\u7684\u63a7\u5236\u6d41\uff1b\u9700\u8981\u4fdd\u8bc1\u5f02\u5e38\u5b89\u5168\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9519\u8bef\u7801<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u6027\u80fd\u5f00\u9500\u5c0f\uff1b\u63a7\u5236\u6d41\u660e\u786e\uff1b\u4e0eC\u8bed\u8a00\u63a5\u53e3\u517c\u5bb9\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u9519\u8bef\u5904\u7406\u4e0e\u6b63\u5e38\u4ee3\u7801\u6df7\u6742\uff0c\u964d\u4f4e\u53ef\u8bfb\u6027\uff1b\u5bb9\u6613\u88ab\u5ffd\u7565\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u9009\u62e9\u5efa\u8bae<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e<strong>\u6027\u80fd\u6781\u5ea6\u654f\u611f<\/strong>\u7684\u4ee3\u7801\u6216<strong>\u5e95\u5c42\u5e93<\/strong>\uff0c\u53ef\u80fd\u9009\u62e9\u9519\u8bef\u7801\u3002<\/li>\n\n\n\n<li>\u5bf9\u4e8e<strong>\u5927\u578b\u5e94\u7528\u7a0b\u5e8f<\/strong>\u6216<strong>\u9ad8\u7ea7\u62bd\u8c61<\/strong>\uff0c\u5f02\u5e38\u53ef\u80fd\u66f4\u5408\u9002\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u81f4\u6027<\/strong>\uff1a\u5728\u4e00\u4e2a\u9879\u76ee\u4e2d\u5e94\u4fdd\u6301\u4e00\u81f4\u7684\u9519\u8bef\u5904\u7406\u98ce\u683c\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">178. C++\u4e2d\u5982\u4f55\u4f7f\u7528\u7ebf\u7a0b\u5c40\u90e8\u5b58\u50a8\uff0c\u5b83\u7684\u539f\u7406\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u65b9\u6cd5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>thread_local<\/code>\u5173\u952e\u5b57\u58f0\u660e\u53d8\u91cf\u3002cpp\u590d\u5236\u4e0b\u8f7dthread_local int per_thread_data = 0;<\/li>\n\n\n\n<li>\u6bcf\u4e2a\u7ebf\u7a0b\u90fd\u6709\u8be5\u53d8\u91cf\u7684\u4e00\u4e2a\u72ec\u7acb\u526f\u672c\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u539f\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7f16\u8bd1\u5668\u4f1a\u4e3a\u6bcf\u4e2a<code>thread_local<\/code>\u53d8\u91cf\u5728\u6bcf\u4e2a\u7ebf\u7a0b\u4e2d\u521b\u5efa\u4e00\u4e2a\u72ec\u7acb\u7684\u5b58\u50a8\u4f4d\u7f6e\u3002<\/li>\n\n\n\n<li>\u901a\u5e38\u901a\u8fc7\u7ebf\u7a0b\u7279\u5b9a\u7684\u5b58\u50a8\u673a\u5236\u5b9e\u73b0\uff0c\u5982POSIX\u7684pthread_setspecific\/pthread_getspecific\u6216Windows\u7684TLS API\u3002<\/li>\n\n\n\n<li>\u7ebf\u7a0b\u8bbf\u95ee<code>thread_local<\/code>\u53d8\u91cf\u65f6\uff0c\u4f1a\u901a\u8fc7\u4e00\u4e2a\u5185\u90e8\u7684\u7ebf\u7a0bID\u7d22\u5f15\u5230\u8be5\u7ebf\u7a0b\u72ec\u6709\u7684\u5b58\u50a8\u533a\u57df\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">179. C++\u5982\u4f55\u8fdb\u884c\u6027\u80fd\u4f18\u5316<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++\u6027\u80fd\u4f18\u5316\u6d89\u53ca\u591a\u4e2a\u5c42\u9762\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7b97\u6cd5\u548c\u6570\u636e\u7ed3\u6784<\/strong>\uff1a\u9009\u62e9\u65f6\u95f4\u590d\u6742\u5ea6\u66f4\u4f18\u7684\u7b97\u6cd5\u548c\u9002\u5408\u95ee\u9898\u7684\u6570\u636e\u7ed3\u6784\u3002<\/li>\n\n\n\n<li><strong>\u7f16\u8bd1\u5668\u4f18\u5316<\/strong>\uff1a\u4f7f\u7528\u9002\u5f53\u7684\u7f16\u8bd1\u5668\u4f18\u5316\u9009\u9879\uff08\u5982<code>-O2<\/code>, <code>-O3<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u7ba1\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u907f\u514d\u4e0d\u5fc5\u8981\u7684\u52a8\u6001\u5185\u5b58\u5206\u914d\uff08\u4f7f\u7528\u6808\u5bf9\u8c61\u6216\u5bf9\u8c61\u6c60\uff09\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528\u79fb\u52a8\u8bed\u4e49\u907f\u514d\u6df1\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li>\u4f18\u5316\u5185\u5b58\u5e03\u5c40\uff08\u51cf\u5c11\u7f13\u5b58\u672a\u547d\u4e2d\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5e76\u884c\u5316<\/strong>\uff1a\u4f7f\u7528\u591a\u7ebf\u7a0b\u3001\u5411\u91cf\u5316\uff08SIMD\uff09\u6307\u4ee4\u3002<\/li>\n\n\n\n<li><strong>I\/O\u4f18\u5316<\/strong>\uff1a\u4f7f\u7528\u7f13\u51b2\u3001\u5f02\u6b65I\/O\u3001\u96f6\u62f7\u8d1d\u6280\u672f\u3002<\/li>\n\n\n\n<li><strong>\u5185\u8054\u51fd\u6570<\/strong>\uff1a\u5bf9\u5c0f\u578b\u9891\u7e41\u8c03\u7528\u7684\u51fd\u6570\u4f7f\u7528<code>inline<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u907f\u514d\u865a\u51fd\u6570\u8c03\u7528<\/strong>\uff1a\u5728\u6027\u80fd\u5173\u952e\u8def\u5f84\u4e0a\uff0c\u5982\u679c\u4e0d\u9700\u8981\u591a\u6001\uff0c\u53ef\u4ee5\u8003\u8651\u5176\u4ed6\u8bbe\u8ba1\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u6027\u80fd\u5206\u6790\u5de5\u5177<\/strong>\uff1a\u5982gprof, perf, VTune\u7b49\uff0c\u627e\u5230\u70ed\u70b9\u8fdb\u884c\u9488\u5bf9\u6027\u4f18\u5316\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">180. C++\u4e2d\u6a21\u677f\u7684\u5b9e\u73b0\u4e00\u5b9a\u8981\u5199\u5728\u5934\u6587\u4ef6\u4e2d\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u901a\u5e38\u662f\u7684<\/strong>\uff0c\u4f46\u6709\u4ee5\u4e0b\u4f8b\u5916\u60c5\u51b5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u56e0<\/strong>\uff1a\u6a21\u677f\u7684\u5b9e\u4f8b\u5316\u53d1\u751f\u5728\u7f16\u8bd1\u671f\u3002\u7f16\u8bd1\u5668\u9700\u8981\u770b\u5230\u6a21\u677f\u7684\u5b8c\u6574\u5b9a\u4e49\u624d\u80fd\u4e3a\u7279\u5b9a\u7684\u7c7b\u578b\u53c2\u6570\u751f\u6210\u4ee3\u7801\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6cd5<\/strong>\uff08\u5982\u679c\u4e0d\u60f3\u5199\u5728\u5934\u6587\u4ef6\uff09\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u663e\u5f0f\u5b9e\u4f8b\u5316<\/strong>\uff1a\u5728\u6a21\u677f\u5b9a\u4e49\u7684<code>.cpp<\/code>\u6587\u4ef6\u4e2d\u663e\u5f0f\u5b9e\u4f8b\u5316\u4f60\u9700\u8981\u7684\u6240\u6709\u7c7b\u578b\u3002cpp\u590d\u5236\u4e0b\u8f7d\/\/ mytemplate.cpp template class MyTemplate&lt;int>; template class MyTemplate&lt;double>;<\/li>\n\n\n\n<li><strong>C++20 Modules<\/strong>\uff1aC++20\u5f15\u5165\u4e86\u6a21\u5757\uff0c\u53ef\u4ee5\u66f4\u597d\u5730\u9694\u79bb\u6a21\u677f\u7684\u5b9e\u73b0\u548c\u63a5\u53e3\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u63a8\u8350\u505a\u6cd5<\/strong>\uff1a\u5bf9\u4e8e\u901a\u7528\u5e93\uff0c\u901a\u5e38\u5c06\u6a21\u677f\u7684\u58f0\u660e\u548c\u5b9a\u4e49\u90fd\u653e\u5728\u5934\u6587\u4ef6\u4e2d\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">181. \u5982\u4f55\u89e3\u51b3C++\u4e2d\u6761\u4ef6\u53d8\u91cf\u7684\u4fe1\u53f7\u4e22\u5931\u548c\u865a\u5047\u5524\u9192\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4fe1\u53f7\u4e22\u5931<\/strong>\uff1a\u53d1\u751f\u5728\u53d1\u9001\u4fe1\u53f7\u65f6\u6ca1\u6709\u7ebf\u7a0b\u5728\u7b49\u5f85\u3002\u89e3\u51b3\u65b9\u6cd5\u901a\u5e38\u662f\u786e\u4fdd\u5728\u53d1\u9001\u4fe1\u53f7\u524d\u6709\u7ebf\u7a0b\u5728\u7b49\u5f85\uff0c\u4f46\u8fd9\u5f88\u96be\u4fdd\u8bc1\u3002<\/li>\n\n\n\n<li><strong>\u865a\u5047\u5524\u9192<\/strong>\uff1a\u7ebf\u7a0b\u53ef\u80fd\u5728\u6ca1\u6709\u6536\u5230\u4fe1\u53f7\u7684\u60c5\u51b5\u4e0b\u88ab\u5524\u9192\u3002\u8fd9\u662f\u5141\u8bb8\u7684\u884c\u4e3a\uff0c\u4e3a\u4e86\u6027\u80fd\u8003\u8651\u3002<\/li>\n\n\n\n<li><strong>\u901a\u7528\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\u603b\u662f<strong>\u5728\u5faa\u73af\u4e2d\u68c0\u67e5\u6761\u4ef6<\/strong>\uff0c\u800c\u4e0d\u662f\u4f7f\u7528if\u8bed\u53e5\u3002cpp\u590d\u5236\u4e0b\u8f7dstd::unique_lock&lt;std::mutex> lock(mutex); while (!condition) { \/\/ \u4f7f\u7528while\u800c\u4e0d\u662fif cv.wait(lock); }\u8fd9\u6837\u5373\u4f7f\u53d1\u751f\u865a\u5047\u5524\u9192\u6216\u4fe1\u53f7&#8221;\u4e22\u5931&#8221;\uff08\u5b9e\u9645\u662f\u53d1\u9001\u65f6\u6ca1\u6709\u7b49\u5f85\u8005\uff09\uff0c\u7ebf\u7a0b\u4e5f\u4f1a\u91cd\u65b0\u68c0\u67e5\u6761\u4ef6\uff0c\u5982\u679c\u6761\u4ef6\u4e0d\u6ee1\u8db3\uff0c\u4f1a\u7ee7\u7eed\u7b49\u5f85\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">182. C++\u4ec0\u4e48\u573a\u666f\u4e0b\u7528\u7ee7\u627f\uff0c\u4ec0\u4e48\u573a\u666f\u4e0b\u4f7f\u7528\u7ec4\u5408<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u7ee7\u627f\u7684\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8868\u793a<strong>&#8220;is-a&#8221;<\/strong>\u5173\u7cfb\uff08\u5982<code>Dog<\/code> is an <code>Animal<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u9700\u8981<strong>\u591a\u6001<\/strong>\u884c\u4e3a\uff0c\u4f7f\u7528\u865a\u51fd\u6570\u5b9e\u73b0\u8fd0\u884c\u65f6\u52a8\u6001\u7ed1\u5b9a\u3002<\/li>\n\n\n\n<li>\u9700\u8981<strong>\u4ee3\u7801\u590d\u7528<\/strong>\uff0c\u4e14\u57fa\u7c7b\u63d0\u4f9b\u4e86\u53ef\u91cd\u7528\u7684\u63a5\u53e3\u548c\u5b9e\u73b0\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u7ec4\u5408\u7684\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8868\u793a<strong>&#8220;has-a&#8221;<\/strong>\u5173\u7cfb\uff08\u5982<code>Car<\/code> has an <code>Engine<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u9700\u8981<strong>\u4ee3\u7801\u590d\u7528<\/strong>\uff0c\u4f46\u4e0d\u9700\u8981\u591a\u6001\u3002<\/li>\n\n\n\n<li>\u4f18\u5148\u9009\u62e9\u7ec4\u5408\uff0c\u56e0\u4e3a\u5b83\u66f4\u7075\u6d3b\u3001\u8026\u5408\u5ea6\u66f4\u4f4e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u539f\u5219<\/strong>\uff1a<strong>\u4f18\u5148\u4f7f\u7528\u7ec4\u5408\u800c\u975e\u7ee7\u627f<\/strong>\uff0c\u9664\u975e\u786e\u5b9e\u9700\u8981\u591a\u6001\u6216&#8221;is-a&#8221;\u5173\u7cfb\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">183. C++\u5982\u4f55\u5b9e\u73b0\u7ebf\u7a0b\u6c60<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u7ebf\u7a0b\u6c60\u7684\u57fa\u672c\u5b9e\u73b0\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u521b\u5efa\u7ebf\u7a0b<\/strong>\uff1a\u5728\u6784\u9020\u51fd\u6570\u4e2d\u521b\u5efa\u56fa\u5b9a\u6570\u91cf\u7684\u5de5\u4f5c\u7ebf\u7a0b\u3002<\/li>\n\n\n\n<li><strong>\u4efb\u52a1\u961f\u5217<\/strong>\uff1a\u4f7f\u7528\u4e00\u4e2a\u7ebf\u7a0b\u5b89\u5168\u7684\u961f\u5217\u6765\u5b58\u50a8\u5f85\u6267\u884c\u7684\u4efb\u52a1\uff08\u901a\u5e38\u662f\u51fd\u6570\u5bf9\u8c61\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u7ebf\u7a0b\u5faa\u73af<\/strong>\uff1a\u6bcf\u4e2a\u5de5\u4f5c\u7ebf\u7a0b\u4e0d\u65ad\u4ece\u4efb\u52a1\u961f\u5217\u4e2d\u53d6\u51fa\u4efb\u52a1\u5e76\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u63d0\u4ea4\u4efb\u52a1<\/strong>\uff1a\u63d0\u4f9b\u63a5\u53e3\u8ba9\u7528\u6237\u63d0\u4ea4\u4efb\u52a1\u5230\u961f\u5217\u3002<\/li>\n\n\n\n<li><strong>\u505c\u6b62\u673a\u5236<\/strong>\uff1a\u63d0\u4f9b\u4f18\u96c5\u505c\u6b62\u7684\u65b9\u6cd5\uff0c\u5982\u8bbe\u7f6e\u505c\u6b62\u6807\u5fd7\uff0c\u5e76\u901a\u77e5\u6240\u6709\u7ebf\u7a0b\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5173\u952e\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>std::vector&lt;std::thread><\/code>\u7ba1\u7406\u7ebf\u7a0b\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>std::queue<\/code>\u548c\u4e92\u65a5\u91cf\u3001\u6761\u4ef6\u53d8\u91cf\u5b9e\u73b0\u4efb\u52a1\u961f\u5217\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>std::function<\/code>\u6216\u6a21\u677f\u63a5\u53d7\u5404\u79cd\u4efb\u52a1\u3002<\/li>\n\n\n\n<li>\u5904\u7406\u5f02\u5e38\uff0c\u907f\u514d\u5355\u4e2a\u4efb\u52a1\u7684\u5f02\u5e38\u5f71\u54cd\u6574\u4e2a\u7ebf\u7a0b\u6c60\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">184. \u8bf7\u4ecb\u7ecd\u4e00\u4e0bC++\u7684\u8fd4\u56de\u503c\u4f18\u5316<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd4\u56de\u503c\u4f18\u5316\uff08RVO\uff09\u662f\u7f16\u8bd1\u5668\u7684\u4e00\u79cd\u4f18\u5316\u6280\u672f\uff0c\u7528\u4e8e\u6d88\u9664\u51fd\u6570\u8fd4\u56de\u5bf9\u8c61\u65f6\u7684\u4e34\u65f6\u5bf9\u8c61\u62f7\u8d1d\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>RVO<\/strong>\uff1a\u5f53\u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u4e34\u65f6\u5bf9\u8c61\u65f6\uff0c\u7f16\u8bd1\u5668\u76f4\u63a5\u5728\u8c03\u7528\u5904\u7684\u5b58\u50a8\u4f4d\u7f6e\u6784\u9020\u8be5\u5bf9\u8c61\uff0c\u907f\u514d\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li><strong>NRVO<\/strong>\uff08\u547d\u540d\u8fd4\u56de\u503c\u4f18\u5316\uff09\uff1a\u5f53\u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u5c40\u90e8\u53d8\u91cf\u65f6\uff0c\u7f16\u8bd1\u5668\u8fdb\u884c\u7c7b\u4f3c\u4f18\u5316\u3002<\/li>\n\n\n\n<li><strong>\u6548\u679c<\/strong>\uff1a\u5373\u4f7f\u62f7\u8d1d\/\u79fb\u52a8\u6784\u9020\u51fd\u6570\u6709\u526f\u4f5c\u7528\uff0c\u5728RVO\/NRVO\u53d1\u751f\u65f6\u4e5f\u4e0d\u4f1a\u88ab\u8c03\u7528\u3002<\/li>\n\n\n\n<li><strong>C++17\u8981\u6c42<\/strong>\uff1a\u5bf9\u4e8e\u8fd4\u56de\u7eaf\u53f3\u503c\u7684\u60c5\u51b5\uff0c\u7f16\u8bd1\u5668\u5fc5\u987b\u8fdb\u884cRVO\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u663e\u8457\u63d0\u5347\u6027\u80fd\uff0c\u7279\u522b\u662f\u5bf9\u4e8e\u5927\u578b\u5bf9\u8c61\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">185. \u7528\u8fc7\u54ea\u4e9bC++\u7f51\u7edc\u6846\u67b6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5e38\u89c1\u7684C++\u7f51\u7edc\u6846\u67b6\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Boost.Asio<\/strong>\uff1a\u8de8\u5e73\u53f0\u7684\u5f02\u6b65I\/O\u5e93\uff0c\u662f\u5f88\u591a\u5176\u4ed6\u6846\u67b6\u7684\u57fa\u7840\u3002<\/li>\n\n\n\n<li><strong>POCO C++ Libraries<\/strong>\uff1a\u8de8\u5e73\u53f0\u7684C++\u7c7b\u5e93\uff0c\u5305\u542b\u7f51\u7edc\u6a21\u5757\u3002<\/li>\n\n\n\n<li><strong>cpp-netlib<\/strong>\uff08\u5df2\u505c\u6b62\u7ef4\u62a4\uff09\uff1a\u4e00\u4e2a\u5f00\u6e90\u7684\u7f51\u7edc\u5e93\u3002<\/li>\n\n\n\n<li><strong>Muduo<\/strong>\uff1a\u57fa\u4e8eReactor\u6a21\u5f0f\u7684\u591a\u7ebf\u7a0bC++\u7f51\u7edc\u5e93\uff0c\u9648\u7855\u5f00\u53d1\u3002<\/li>\n\n\n\n<li><strong>libevent\/libev\/libuv<\/strong>\uff1aC\u8bed\u8a00\u5e93\uff0c\u4f46\u6709C++\u5c01\u88c5\u3002<\/li>\n\n\n\n<li><strong>gRPC<\/strong>\uff1aGoogle\u7684\u9ad8\u6027\u80fdRPC\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u8bed\u8a00\u3002<\/li>\n\n\n\n<li><strong>Seastar<\/strong>\uff1a\u9ad8\u6027\u80fd\u7684\u5f02\u6b65\u7f16\u7a0b\u6846\u67b6\uff0c\u7279\u522b\u9002\u5408\u9700\u8981\u6781\u9ad8\u541e\u5410\u91cf\u7684\u5e94\u7528\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">186. \u7528\u8fc7\u54ea\u4e9bC++\u6570\u636e\u5e93\u6846\u67b6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5e38\u89c1\u7684C++\u6570\u636e\u5e93\u6846\u67b6\/\u5e93\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>ODBC<\/strong>\uff1a\u6807\u51c6\u7684\u6570\u636e\u5e93\u8bbf\u95ee\u63a5\u53e3\u3002<\/li>\n\n\n\n<li><strong>OTL<\/strong>\uff1aODBC\u548c\u6570\u636e\u5e93\u6a21\u677f\u5e93\u3002<\/li>\n\n\n\n<li><strong>SOCI<\/strong>\uff08Simple Oracle Call Interface\uff09\uff1a\u652f\u6301\u591a\u79cd\u6570\u636e\u5e93\u7684C++\u6570\u636e\u5e93\u8bbf\u95ee\u5c42\u3002<\/li>\n\n\n\n<li><strong>libpqxx<\/strong>\uff1aPostgreSQL\u7684C++\u63a5\u53e3\u3002<\/li>\n\n\n\n<li><strong>MySQL Connector\/C++<\/strong>\uff1aMySQL\u7684\u5b98\u65b9C++\u63a5\u53e3\u3002<\/li>\n\n\n\n<li><strong>SQLiteCpp<\/strong>\uff1aSQLite\u7684C++\u5c01\u88c5\u3002<\/li>\n\n\n\n<li><strong>ODB<\/strong>\uff1aC++\u7684ORM\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u6570\u636e\u5e93\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">187. \u7528\u8fc7\u54ea\u4e9bC++\u65e5\u5fd7\u6846\u67b6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5e38\u89c1\u7684C++\u65e5\u5fd7\u6846\u67b6\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>spdlog<\/strong>\uff1a\u5feb\u901f\u7684C++\u65e5\u5fd7\u5e93\uff0c\u652f\u6301\u591a\u79cd\u540e\u7aef\u3002<\/li>\n\n\n\n<li><strong>glog<\/strong>\uff08Google Logging Library\uff09\uff1aGoogle\u7684\u65e5\u5fd7\u5e93\u3002<\/li>\n\n\n\n<li><strong>log4cxx<\/strong>\uff1aApache\u7684C++\u65e5\u5fd7\u5e93\uff0c\u662flog4j\u7684C++\u7248\u672c\u3002<\/li>\n\n\n\n<li><strong>Boost.Log<\/strong>\uff1aBoost\u5e93\u4e2d\u7684\u65e5\u5fd7\u7ec4\u4ef6\u3002<\/li>\n\n\n\n<li><strong>easyloggingpp<\/strong>\uff1a\u8f7b\u91cf\u7ea7\u7684\u5355\u5934\u6587\u4ef6\u65e5\u5fd7\u5e93\u3002<\/li>\n\n\n\n<li><strong>plog<\/strong>\uff1a\u4fbf\u643a\u3001\u7b80\u5355\u7684C++\u65e5\u5fd7\u5e93\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">188. \u7528\u8fc7\u54ea\u4e9bC++\u5355\u5143\u6d4b\u8bd5\u6846\u67b6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5e38\u89c1\u7684C++\u5355\u5143\u6d4b\u8bd5\u6846\u67b6\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Google Test<\/strong>\uff08gtest\uff09\uff1aGoogle\u5f00\u53d1\u7684C++\u6d4b\u8bd5\u6846\u67b6\uff0c\u5e94\u7528\u5e7f\u6cdb\u3002<\/li>\n\n\n\n<li><strong>Catch2<\/strong>\uff1a\u73b0\u4ee3\u7684\u3001\u5934\u6587\u4ef6-only\u7684C++\u6d4b\u8bd5\u6846\u67b6\u3002<\/li>\n\n\n\n<li><strong>Boost.Test<\/strong>\uff1aBoost\u5e93\u4e2d\u7684\u6d4b\u8bd5\u6846\u67b6\u3002<\/li>\n\n\n\n<li><strong>CppUnit<\/strong>\uff1aJUnit\u98ce\u683c\u7684C++\u5355\u5143\u6d4b\u8bd5\u6846\u67b6\u3002<\/li>\n\n\n\n<li><strong>doctest<\/strong>\uff1aC++11\/14\/17\/20\u7684\u5355\u5934\u6587\u4ef6\u6d4b\u8bd5\u6846\u67b6\uff0c\u8bbe\u8ba1\u76ee\u6807\u662f\u5feb\u901f\u7f16\u8bd1\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">189. C++\u591a\u7ebf\u7a0b\u5f00\u53d1\u9700\u8981\u6ce8\u610f\u4e9b\u4ec0\u4e48\uff0c\u7ebf\u7a0b\u540c\u6b65\u6709\u54ea\u4e9b\u624b\u6bb5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6ce8\u610f\u4e8b\u9879<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u7ade\u4e89<\/strong>\uff1a\u591a\u4e2a\u7ebf\u7a0b\u4e0d\u52a0\u9501\u5730\u8bbf\u95ee\u5171\u4eab\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u6b7b\u9501<\/strong>\uff1a\u591a\u4e2a\u7ebf\u7a0b\u4e92\u76f8\u7b49\u5f85\u5bf9\u65b9\u91ca\u653e\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>\u6d3b\u9501<\/strong>\uff1a\u7ebf\u7a0b\u4e0d\u65ad\u6539\u53d8\u72b6\u6001\u4f46\u65e0\u6cd5\u524d\u8fdb\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5148\u7ea7\u53cd\u8f6c<\/strong>\uff1a\u4f4e\u4f18\u5148\u7ea7\u4efb\u52a1\u6301\u6709\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u9700\u8981\u7684\u8d44\u6e90\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u540c\u6b65\u624b\u6bb5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5\u9501<\/strong>\uff08<code>std::mutex<\/code>\uff09\uff1a\u4fdd\u62a4\u4e34\u754c\u533a\u3002<\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u53d8\u91cf<\/strong>\uff08<code>std::condition_variable<\/code>\uff09\uff1a\u7ebf\u7a0b\u95f4\u901a\u4fe1\uff0c\u7b49\u5f85\u7279\u5b9a\u6761\u4ef6\u3002<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u91cf<\/strong>\uff1a\u63a7\u5236\u5bf9\u5171\u4eab\u8d44\u6e90\u7684\u8bbf\u95ee\u6570\u91cf\uff08C++20\u5f15\u5165<code>std::counting_semaphore<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u539f\u5b50\u64cd\u4f5c<\/strong>\uff08<code>std::atomic<\/code>\uff09\uff1a\u65e0\u9501\u7f16\u7a0b\u3002<\/li>\n\n\n\n<li><strong>\u8bfb\u5199\u9501<\/strong>\uff08<code>std::shared_mutex<\/code>\uff0cC++17\uff09\uff1a\u5141\u8bb8\u591a\u4e2a\u8bfb\u6216\u4e00\u4e2a\u5199\u3002<\/li>\n\n\n\n<li><strong>\u5c4f\u969c<\/strong>\uff08<code>std::barrier<\/code>\uff0cC++20\uff09\uff1a\u540c\u6b65\u591a\u4e2a\u7ebf\u7a0b\u5230\u8fbe\u67d0\u4e2a\u70b9\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">190. C++\u8fed\u4ee3\u5668\u548c\u6307\u9488\u6709\u4ec0\u4e48\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fed\u4ee3\u5668<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u6307\u9488<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u62bd\u8c61\u5c42\u7ea7<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u66f4\u9ad8\u5c42\u6b21\u7684\u62bd\u8c61\uff0c\u662f\u5bb9\u5668\u548c\u7b97\u6cd5\u4e4b\u95f4\u7684\u6865\u6881<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e95\u5c42\u7684\u5185\u5b58\u5730\u5740<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u529f\u80fd<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4f9b\u7edf\u4e00\u7684\u8bbf\u95ee\u63a5\u53e3\uff0c\u9690\u85cf\u5bb9\u5668\u5b9e\u73b0\u7ec6\u8282<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f4\u63a5\u64cd\u4f5c\u5185\u5b58\u5730\u5740<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7c7b\u578b\u5b89\u5168<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u5e38\u66f4\u5b89\u5168\uff0c\u6709\u7c7b\u578b\u68c0\u67e5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5bb9\u6613\u51fa\u9519\uff0c\u5982\u8d8a\u754c\u8bbf\u95ee<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5931\u6548\u89c4\u5219<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u540c\u5bb9\u5668\u6709\u4e0d\u540c\u7684\u8fed\u4ee3\u5668\u5931\u6548\u89c4\u5219<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6307\u9488\u5931\u6548\u89c4\u5219\u76f8\u5bf9\u7b80\u5355<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7b97\u672f\u8fd0\u7b97<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ea\u6709\u968f\u673a\u8bbf\u95ee\u8fed\u4ee3\u5668\u652f\u6301\u5b8c\u6574\u7684\u7b97\u672f\u8fd0\u7b97<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6240\u6709\u6307\u9488\u90fd\u652f\u6301\u7b97\u672f\u8fd0\u7b97<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6cdb\u578b\u7f16\u7a0b<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u662fSTL\u7684\u6838\u5fc3\uff0c\u652f\u6301\u6cdb\u578b\u7b97\u6cd5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u989d\u5916\u5904\u7406\u7c7b\u578b\u4fe1\u606f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">191. C++\u4e2d\u672a\u521d\u59cb\u5316\u548c\u5df2\u521d\u59cb\u5316\u7684\u5168\u5c40\u53d8\u91cf\u653e\u5728\u54ea\u91cc\uff0c\u5168\u5c40\u53d8\u91cf\u5b9a\u4e49\u5728\u5934\u6587\u4ef6\u4e2d\u6709\u4ec0\u4e48\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5185\u5b58\u5206\u5e03<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5df2\u521d\u59cb\u5316\u7684\u5168\u5c40\u53d8\u91cf<\/strong>\uff1a\u653e\u5728<code>.data<\/code>\u6bb5\u3002<\/li>\n\n\n\n<li><strong>\u672a\u521d\u59cb\u5316\u7684\u5168\u5c40\u53d8\u91cf<\/strong>\uff1a\u653e\u5728<code>.bss<\/code>\u6bb5\uff08\u7a0b\u5e8f\u542f\u52a8\u65f6\u81ea\u52a8\u521d\u59cb\u5316\u4e3a0\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5934\u6587\u4ef6\u4e2d\u5b9a\u4e49\u5168\u5c40\u53d8\u91cf\u7684\u95ee\u9898<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u591a\u6b21\u5b9a\u4e49\u9519\u8bef<\/strong>\uff1a\u5982\u679c\u5934\u6587\u4ef6\u88ab\u591a\u4e2a\u6e90\u6587\u4ef6\u5305\u542b\uff0c\u4f1a\u5bfc\u81f4\u5168\u5c40\u53d8\u91cf\u88ab\u591a\u6b21\u5b9a\u4e49\uff0c\u94fe\u63a5\u9519\u8bef\u3002<\/li>\n\n\n\n<li><strong>\u8fdd\u53cdODR<\/strong>\uff08One Definition Rule\uff09\uff1a\u4e00\u4e2a\u5168\u5c40\u53d8\u91cf\u5728\u7a0b\u5e8f\u4e2d\u53ea\u80fd\u6709\u4e00\u4e2a\u5b9a\u4e49\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u6b63\u786e\u505a\u6cd5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u5934\u6587\u4ef6\u4e2d\u4f7f\u7528<code>extern<\/code>\u58f0\u660e\u5168\u5c40\u53d8\u91cf\u3002<\/li>\n\n\n\n<li>\u5728\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u5b9a\u4e49\u5168\u5c40\u53d8\u91cf\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">192. C++\u51fd\u6570\u8c03\u7528\u7684\u539f\u7406\u662f\u4ec0\u4e48\uff0c\u4ec0\u4e48\u662f\u6808\u5e27<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6808\u5e27<\/strong>\uff08Stack Frame\uff09\uff1a\u6bcf\u6b21\u51fd\u6570\u8c03\u7528\u65f6\u5728\u6808\u4e0a\u5206\u914d\u7684\u4e00\u5757\u5185\u5b58\u533a\u57df\uff0c\u7528\u4e8e\u5b58\u50a8\uff1a\n<ol class=\"wp-block-list\">\n<li>\u51fd\u6570\u53c2\u6570<\/li>\n\n\n\n<li>\u8fd4\u56de\u5730\u5740<\/li>\n\n\n\n<li>\u5c40\u90e8\u53d8\u91cf<\/li>\n\n\n\n<li>\u4fdd\u5b58\u7684\u5bc4\u5b58\u5668\u503c<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u8c03\u7528\u8fc7\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u53c2\u6570\u538b\u6808<\/strong>\uff1a\u8c03\u7528\u8005\u5c06\u53c2\u6570\u4ece\u53f3\u5411\u5de6\u538b\u5165\u6808\u4e2d\u3002<\/li>\n\n\n\n<li><strong>\u8fd4\u56de\u5730\u5740\u538b\u6808<\/strong>\uff1a\u5c06\u4e0b\u4e00\u6761\u6307\u4ee4\u7684\u5730\u5740\u538b\u6808\u3002<\/li>\n\n\n\n<li><strong>\u8df3\u8f6c\u5230\u51fd\u6570<\/strong>\uff1aCPU\u8df3\u8f6c\u5230\u51fd\u6570\u4ee3\u7801\u5f00\u59cb\u5904\u3002<\/li>\n\n\n\n<li><strong>\u5206\u914d\u5c40\u90e8\u53d8\u91cf<\/strong>\uff1a\u8c03\u6574\u6808\u6307\u9488\u4e3a\u5c40\u90e8\u53d8\u91cf\u5206\u914d\u7a7a\u95f4\u3002<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u6267\u884c<\/strong>\uff1a\u6267\u884c\u51fd\u6570\u4f53\u3002<\/li>\n\n\n\n<li><strong>\u6e05\u7406\u6808\u5e27<\/strong>\uff1a\u6062\u590d\u6808\u6307\u9488\uff0c\u5f39\u51fa\u8fd4\u56de\u5730\u5740\u3002<\/li>\n\n\n\n<li><strong>\u8fd4\u56de<\/strong>\uff1a\u8df3\u56de\u5230\u8fd4\u56de\u5730\u5740\u7ee7\u7eed\u6267\u884c\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">193. \u7981\u6b62\u590d\u5236\uff0c\u62f7\u8d1d\u6784\u9020\u51fd\u6570\u7684\u624b\u6bb5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6709\u51e0\u79cd\u65b9\u6cd5\u53ef\u4ee5\u7981\u6b62\u7c7b\u7684\u590d\u5236\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>C++11\u524d<\/strong>\uff1a\u5c06\u62f7\u8d1d\u6784\u9020\u51fd\u6570\u548c\u62f7\u8d1d\u8d4b\u503c\u8fd0\u7b97\u7b26\u58f0\u660e\u4e3a<code>private<\/code>\u4e14\u4e0d\u5b9e\u73b0\u3002cpp\u590d\u5236\u4e0b\u8f7dclass NonCopyable { private: NonCopyable(const NonCopyable&amp;); \/\/ \u4e0d\u5b9e\u73b0 NonCopyable&amp; operator=(const NonCopyable&amp;); \/\/ \u4e0d\u5b9e\u73b0 };<\/li>\n\n\n\n<li><strong>C++11\u540e<\/strong>\uff1a\u4f7f\u7528<code>= delete<\/code>\u660e\u786e\u5220\u9664\u3002cpp\u590d\u5236\u4e0b\u8f7dclass NonCopyable { public: NonCopyable(const NonCopyable&amp;) = delete; NonCopyable&amp; operator=(const NonCopyable&amp;) = delete; };<\/li>\n\n\n\n<li><strong>\u7ee7\u627fBoost\u6216\u6807\u51c6\u5e93\u7684\u5b9e\u73b0<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d#include &lt;boost\/noncopyable.hpp> class MyClass : private boost::noncopyable { }; \/\/ \u6216\u8005C++11\u540e class MyClass { MyClass(const MyClass&amp;) = delete; MyClass&amp; operator=(const MyClass&amp;) = delete; };<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">194. \u4ec0\u4e48\u65f6\u5019\u5e94\u8be5\u6ce8\u610f\u9690\u5f0f\u8f6c\u6362<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5e94\u8be5\u6ce8\u610f\u9690\u5f0f\u8f6c\u6362\u7684\u60c5\u51b5\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6784\u9020\u51fd\u6570\u9690\u5f0f\u8f6c\u6362<\/strong>\uff1a\u5355\u53c2\u6570\u6784\u9020\u51fd\u6570\u53ef\u80fd\u88ab\u7f16\u8bd1\u5668\u7528\u4e8e\u9690\u5f0f\u8f6c\u6362\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u89e3\u51b3\u65b9\u6cd5<\/strong>\uff1a\u4f7f\u7528<code>explicit<\/code>\u5173\u952e\u5b57\u7981\u6b62\u9690\u5f0f\u8f6c\u6362\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fd0\u7b97\u7b26\u9690\u5f0f\u8f6c\u6362<\/strong>\uff1a\u81ea\u5b9a\u4e49\u7c7b\u578b\u8f6c\u6362\u8fd0\u7b97\u7b26\u53ef\u80fd\u5bfc\u81f4\u610f\u5916\u7684\u9690\u5f0f\u8f6c\u6362\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u89e3\u51b3\u65b9\u6cd5<\/strong>\uff1a\u4f7f\u7528<code>explicit<\/code>\u5173\u952e\u5b57\uff08C++11\u8d77\u652f\u6301\u5bf9\u8f6c\u6362\u8fd0\u7b97\u7b26\u4f7f\u7528<code>explicit<\/code>\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b97\u672f\u8fd0\u7b97\u4e2d\u7684\u9690\u5f0f\u8f6c\u6362<\/strong>\uff1a\u4e0d\u540c\u7c7b\u578b\u7684\u6570\u503c\u8fd0\u7b97\u65f6\u4f1a\u53d1\u751f\u9690\u5f0f\u8f6c\u6362\uff0c\u53ef\u80fd\u5bfc\u81f4\u7cbe\u5ea6\u635f\u5931\u6216\u610f\u5916\u7ed3\u679c\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u6ce8\u610f\u70b9<\/strong>\uff1a\u6709\u7b26\u53f7\u548c\u65e0\u7b26\u53f7\u6574\u6570\u7684\u6df7\u5408\u8fd0\u7b97\uff1b\u6574\u6570\u63d0\u5347\uff1b\u6d6e\u70b9\u7cbe\u5ea6\u635f\u5931\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">195. \u7b80\u8ff0\u4e0bC++\u8bed\u8a00\u7684\u7279\u70b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++\u7684\u4e3b\u8981\u7279\u70b9\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u591a\u8303\u5f0f<\/strong>\uff1a\u652f\u6301\u8fc7\u7a0b\u5f0f\u3001\u9762\u5411\u5bf9\u8c61\u3001\u6cdb\u578b\u7f16\u7a0b\u7b49\u591a\u79cd\u7f16\u7a0b\u8303\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u9ad8\u6548\u6027<\/strong>\uff1a\u63a5\u8fd1C\u8bed\u8a00\u7684\u6267\u884c\u6548\u7387\uff0c\u652f\u6301\u5e95\u5c42\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u9762\u5411\u5bf9\u8c61<\/strong>\uff1a\u652f\u6301\u5c01\u88c5\u3001\u7ee7\u627f\u3001\u591a\u6001\u7b49\u9762\u5411\u5bf9\u8c61\u7279\u6027\u3002<\/li>\n\n\n\n<li><strong>\u6cdb\u578b\u7f16\u7a0b<\/strong>\uff1a\u901a\u8fc7\u6a21\u677f\u652f\u6301\u7c7b\u578b\u65e0\u5173\u7684\u7f16\u7a0b\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u7ba1\u7406<\/strong>\uff1a\u65e2\u652f\u6301\u81ea\u52a8\u5185\u5b58\u7ba1\u7406\uff08RAII\u3001\u667a\u80fd\u6307\u9488\uff09\uff0c\u4e5f\u652f\u6301\u624b\u52a8\u5185\u5b58\u7ba1\u7406\u3002<\/li>\n\n\n\n<li><strong>\u6807\u51c6\u5e93\u4e30\u5bcc<\/strong>\uff1a\u62e5\u6709\u5f3a\u5927\u7684\u6807\u51c6\u6a21\u677f\u5e93\uff08STL\uff09\u3002<\/li>\n\n\n\n<li><strong>\u517c\u5bb9C<\/strong>\uff1a\u4e0eC\u8bed\u8a00\u9ad8\u5ea6\u517c\u5bb9\uff0c\u53ef\u4ee5\u8c03\u7528C\u5e93\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u79fb\u690d\u6027<\/strong>\uff1a\u6807\u51c6\u5316\u7684\u8bed\u8a00\u89c4\u8303\uff0c\u652f\u6301\u8de8\u5e73\u53f0\u5f00\u53d1\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">196. \u8bf4\u8bf4C\u8bed\u8a00\u548cC++\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7f16\u7a0b\u8303\u5f0f<\/strong>\uff1aC\u662f\u8fc7\u7a0b\u5f0f\uff1bC++\u662f\u591a\u8303\u5f0f\uff08\u8fc7\u7a0b\u5f0f\u3001\u9762\u5411\u5bf9\u8c61\u3001\u6cdb\u578b\uff09\u3002<\/li>\n\n\n\n<li><strong>\u9762\u5411\u5bf9\u8c61<\/strong>\uff1aC++\u652f\u6301\u7c7b\u3001\u5bf9\u8c61\u3001\u5c01\u88c5\u3001\u7ee7\u627f\u3001\u591a\u6001\uff1bC\u4e0d\u652f\u6301\u3002<\/li>\n\n\n\n<li><strong>\u51fd\u6570\u91cd\u8f7d<\/strong>\uff1aC++\u652f\u6301\uff1bC\u4e0d\u652f\u6301\u3002<\/li>\n\n\n\n<li><strong>\u9ed8\u8ba4\u53c2\u6570<\/strong>\uff1aC++\u652f\u6301\uff1bC\u4e0d\u652f\u6301\u3002<\/li>\n\n\n\n<li><strong>\u5f15\u7528<\/strong>\uff1aC++\u6709\u5f15\u7528\uff1bC\u53ea\u6709\u6307\u9488\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u7ba1\u7406<\/strong>\uff1aC\u7528<code>malloc\/free<\/code>\uff1bC++\u7528<code>new\/delete<\/code>\uff08\u4f1a\u8c03\u7528\u6784\u9020\/\u6790\u6784\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5904\u7406<\/strong>\uff1aC++\u652f\u6301<code>try\/catch<\/code>\uff1bC\u4f7f\u7528\u9519\u8bef\u7801\u548c<code>setjmp\/longjmp<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u6a21\u677f\u548cSTL<\/strong>\uff1aC++\u7279\u6709\u3002<\/li>\n\n\n\n<li><strong>\u7c7b\u578b\u68c0\u67e5<\/strong>\uff1aC++\u66f4\u4e25\u683c\uff08\u5982\u51fd\u6570\u539f\u578b\uff09\u3002<\/li>\n\n\n\n<li><strong><code>struct<\/code><\/strong>\uff1a\u5728C\u4e2d\u53ea\u662f\u6570\u636e\u96c6\u5408\uff1b\u5728C++\u4e2d\u7b49\u540c\u4e8e<code>class<\/code>\uff08\u53ef\u5305\u542b\u51fd\u6570\uff0c\u6709\u8bbf\u95ee\u63a7\u5236\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">197. \u8bf4\u4e00\u8bf4\u6570\u7ec4\u548c\u6307\u9488\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u7ec4<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u6307\u9488<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u672c\u8d28<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f8\u540c\u7c7b\u578b\u5143\u7d20\u7684\u96c6\u5408\uff0c\u662f\u6570\u636e\u7c7b\u578b<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b58\u50a8\u5185\u5b58\u5730\u5740\u7684\u53d8\u91cf<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u5206\u914d<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9759\u6001\u6216\u81ea\u52a8\u5206\u914d\uff08\u6808\u6216\u6570\u636e\u6bb5\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u52a8\u6001\u5206\u914d\uff08\u5806\uff09\u6216\u6307\u5411\u73b0\u6709\u5185\u5b58<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5927\u5c0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u65f6\u786e\u5b9a\u5927\u5c0f\uff08sizeof\u8fd4\u56de\u6570\u7ec4\u603b\u5927\u5c0f\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6307\u9488\u7684\u5927\u5c0f\u56fa\u5b9a\uff084\u62168\u5b57\u8282\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8d4b\u503c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6570\u7ec4\u540d\u662f\u5e38\u91cf\uff0c\u4e0d\u80fd\u76f4\u63a5\u8d4b\u503c<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6307\u9488\u662f\u53d8\u91cf\uff0c\u53ef\u4ee5\u8d4b\u503c<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7b97\u672f\u8fd0\u7b97<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6307\u9488\u7b97\u672f\u4ee5\u5143\u7d20\u5927\u5c0f\u4e3a\u6b65\u957f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6307\u9488\u7b97\u672f\u4ee5\u5b57\u8282\u4e3a\u6b65\u957f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f5c\u4e3a\u53c2\u6570<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9000\u5316\u4e3a\u6307\u9488<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f4\u63a5\u4f20\u9012\u6307\u9488\u503c<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b57\u7b26\u4e32\u5e38\u91cf<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>char str[] = \"hello\"<\/code>\u53ef\u4fee\u6539<\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>char* str = \"hello\"<\/code>\u53ef\u80fd\u53ea\u8bfb<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">198. nullptr\u8c03\u7528\u6210\u5458\u51fd\u6570\u53ef\u4ee5\u5417\uff1f\u4e3a\u4ec0\u4e48\uff1f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u53ef\u4ee5\u7f16\u8bd1\u901a\u8fc7\uff0c\u4f46\u8fd0\u884c\u65f6\u884c\u4e3a\u672a\u5b9a\u4e49\uff08\u901a\u5e38\u662f\u5d29\u6e83\uff09\u3002<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u56e0<\/strong>\uff1a\u5bf9\u4e8e\u975e\u865a\u6210\u5458\u51fd\u6570\uff0c\u8c03\u7528\u4e0d\u4f9d\u8d56\u4e8e\u5bf9\u8c61\u7684\u5177\u4f53\u5185\u5bb9\uff0c\u7f16\u8bd1\u5668\u6839\u636e\u51fd\u6570\u7684\u9759\u6001\u7c7b\u578b\u751f\u6210\u8c03\u7528\u4ee3\u7801\u3002\u51fd\u6570\u4ee3\u7801\u5b58\u5728\u4e8e\u4ee3\u7801\u6bb5\uff0c\u4e0e\u5177\u4f53\u5bf9\u8c61\u65e0\u5173\u3002\u56e0\u6b64\u8bed\u6cd5\u4e0a\u53ef\u4ee5\u901a\u8fc7\u3002<\/li>\n\n\n\n<li><strong>\u4f46\u662f<\/strong>\uff1a\u5982\u679c\u6210\u5458\u51fd\u6570\u5185\u90e8\u901a\u8fc7<code>this<\/code>\u6307\u9488\u8bbf\u95ee\u6210\u5458\u53d8\u91cf\uff0c\u5c31\u4f1a\u5bf9\u7a7a\u6307\u9488\u89e3\u5f15\u7528\uff0c\u5bfc\u81f4\u8fd0\u884c\u65f6\u9519\u8bef\u3002<\/li>\n\n\n\n<li><strong>\u5bf9\u4e8e\u865a\u51fd\u6570<\/strong>\uff1a\u9700\u8981\u901a\u8fc7\u865a\u51fd\u6570\u8868\u6307\u9488\u67e5\u627e\u51fd\u6570\u5730\u5740\uff0c\u800c\u7a7a\u6307\u9488\u6ca1\u6709\u6709\u6548\u7684\u865a\u51fd\u6570\u8868\uff0c\u4f1a\u76f4\u63a5\u5d29\u6e83\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">199. \u8bf4\u8bf4\u8fd0\u7b97\u7b26i++\u548c++i\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>i++<\/code>\uff08\u540e\u7f6e\u9012\u589e\uff09<\/strong>\uff1a\u5148\u8fd4\u56dei\u7684\u539f\u59cb\u503c\uff0c\u7136\u540ei\u52a01\u3002\n<ul class=\"wp-block-list\">\n<li><code>int j = i++;<\/code> \/\/ j\u5f97\u5230i\u7684\u65e7\u503c\uff0c\u7136\u540ei\u589e\u52a01<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>++i<\/code>\uff08\u524d\u7f6e\u9012\u589e\uff09<\/strong>\uff1a\u5148\u5c06i\u52a01\uff0c\u7136\u540e\u8fd4\u56dei\u7684\u65b0\u503c\u3002\n<ul class=\"wp-block-list\">\n<li><code>int j = ++i;<\/code> \/\/ i\u5148\u589e\u52a01\uff0c\u7136\u540ej\u5f97\u5230i\u7684\u65b0\u503c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6027\u80fd\u5dee\u5f02<\/strong>\uff1a\u5bf9\u4e8e\u5185\u7f6e\u7c7b\u578b\uff0c\u73b0\u4ee3\u7f16\u8bd1\u5668\u901a\u5e38\u80fd\u4f18\u5316\u6389\u5dee\u5f02\u3002\u5bf9\u4e8e\u81ea\u5b9a\u4e49\u7c7b\u578b\uff08\u5982\u8fed\u4ee3\u5668\uff09\uff0c<code>++i<\/code>\u901a\u5e38\u66f4\u9ad8\u6548\uff0c\u56e0\u4e3a\u5b83\u4e0d\u9700\u8981\u521b\u5efa\u4e34\u65f6\u5bf9\u8c61\u6765\u4fdd\u5b58\u65e7\u503c\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u5efa\u8bae<\/strong>\uff1a\u5728\u4e0d\u5173\u5fc3\u8fd4\u56de\u503c\u7684\u60c5\u51b5\u4e0b\uff0c\u4f7f\u7528<code>++i<\/code>\u53ef\u80fd\u66f4\u9ad8\u6548\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">200. \u8bf4\u8bf4const\u548cdefine\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>const<\/code><\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>#define<\/code><\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5904\u7406\u9636\u6bb5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u671f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9884\u5904\u7406\u671f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7c7b\u578b\u68c0\u67e5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\u7c7b\u578b\u68c0\u67e5\uff0c\u66f4\u5b89\u5168<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u7c7b\u578b\u68c0\u67e5\uff0c\u6587\u672c\u66ff\u6362<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f5c\u7528\u57df<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9075\u5faaC++\u4f5c\u7528\u57df\u89c4\u5219<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u5b9a\u4e49\u5904\u5f00\u59cb\uff0c\u4e0d\u53d7\u4f5c\u7528\u57df\u9650\u5236<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8c03\u8bd5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\u7b26\u53f7\u4fe1\u606f\uff0c\u53ef\u8c03\u8bd5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u66ff\u6362\u540e\u770b\u4e0d\u5230\u539f\u540d\uff0c\u96be\u4ee5\u8c03\u8bd5<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5360\u7528\u5185\u5b58\uff08\u6709\u5b58\u50a8\u7a7a\u95f4\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u5360\u7528\u5185\u5b58\uff08\u7eaf\u6587\u672c\u66ff\u6362\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u529f\u80fd<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ea\u80fd\u5b9a\u4e49\u5e38\u91cf<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u5b9a\u4e49\u5e38\u91cf\u3001\u5b8f\u51fd\u6570\u3001\u4ee3\u7801\u7247\u6bb5\u7b49<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f8b\u5b50<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>const int MAX = 100;<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>#define MAX 100<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u73b0\u4ee3C++\u63a8\u8350\u4f7f\u7528<code>const<\/code>\u800c\u4e0d\u662f<code>#define<\/code>\u5b9a\u4e49\u5e38\u91cf\u3002<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">201. \u53ea\u5b9a\u4e49\u6790\u6784\u51fd\u6570\uff0c\u4f1a\u81ea\u52a8\u751f\u6210\u54ea\u4e9b\u6784\u9020\u51fd\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5728C++\u4e2d\uff0c\u5982\u679c\u4f60\u53ea\u5b9a\u4e49\u4e86\u6790\u6784\u51fd\u6570\uff0c\u7f16\u8bd1\u5668<strong>\u4ecd\u7136\u4f1a\u81ea\u52a8\u751f\u6210<\/strong>\u4ee5\u4e0b\u6784\u9020\u51fd\u6570\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9ed8\u8ba4\u6784\u9020\u51fd\u6570<\/strong><\/li>\n\n\n\n<li><strong>\u62f7\u8d1d\u6784\u9020\u51fd\u6570<\/strong><\/li>\n\n\n\n<li><strong>\u62f7\u8d1d\u8d4b\u503c\u8fd0\u7b97\u7b26<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f46\u662f<\/strong>\uff0c\u4eceC++11\u5f00\u59cb\uff0c\u89c4\u5219\u6709\u6240\u53d8\u5316\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u4f60\u53ea\u5b9a\u4e49\u4e86\u6790\u6784\u51fd\u6570\uff0c\u7f16\u8bd1\u5668<strong>\u4e0d\u4f1a\u81ea\u52a8\u751f\u6210<\/strong>\u79fb\u52a8\u6784\u9020\u51fd\u6570\u548c\u79fb\u52a8\u8d4b\u503c\u8fd0\u7b97\u7b26\u3002<\/li>\n\n\n\n<li>\u8fd9\u662f\u4e3a\u4e86\u4fdd\u6301\u4e0eC++98\u7684\u517c\u5bb9\u6027\uff0c\u907f\u514d\u610f\u5916\u7684\u6027\u80fd\u635f\u5931\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u793a\u4f8b<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class MyClass {\npublic:\n    ~MyClass() {}  \/\/ \u53ea\u5b9a\u4e49\u6790\u6784\u51fd\u6570\n    \n    \/\/ \u7f16\u8bd1\u5668\u4f1a\u81ea\u52a8\u751f\u6210\uff1a\n    \/\/ MyClass();                          \/\/ \u9ed8\u8ba4\u6784\u9020\u51fd\u6570\n    \/\/ MyClass(const MyClass&amp;);            \/\/ \u62f7\u8d1d\u6784\u9020\u51fd\u6570  \n    \/\/ MyClass&amp; operator=(const MyClass&amp;); \/\/ \u62f7\u8d1d\u8d4b\u503c\u8fd0\u7b97\u7b26\n    \n    \/\/ \u4f46\u4e0d\u4f1a\u81ea\u52a8\u751f\u6210\u79fb\u52a8\u64cd\u4f5c\n};<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">202. \u7b80\u8ff0\u4e0b\u5411\u4e0a\u8f6c\u578b\u548c\u5411\u4e0b\u8f6c\u578b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5411\u4e0a\u8f6c\u578b<\/strong>\uff1a\u5c06\u6d3e\u751f\u7c7b\u6307\u9488\u6216\u5f15\u7528\u8f6c\u6362\u4e3a\u57fa\u7c7b\u6307\u9488\u6216\u5f15\u7528\u3002<ul><li><strong>\u65b9\u5411<\/strong>\uff1a\u6d3e\u751f\u7c7b \u2192 \u57fa\u7c7b<\/li><li><strong>\u5b89\u5168\u6027<\/strong>\uff1a\u603b\u662f\u5b89\u5168\u7684\uff0c\u56e0\u4e3a\u6d3e\u751f\u7c7b\u5bf9\u8c61&#8221;\u662f\u4e00\u4e2a&#8221;\u57fa\u7c7b\u5bf9\u8c61\u3002<\/li><li><strong>\u65b9\u5f0f<\/strong>\uff1a\u53ef\u4ee5\u662f\u9690\u5f0f\u8f6c\u6362\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7<code>static_cast<\/code>\u3002<\/li><\/ul>cpp\u590d\u5236\u4e0b\u8f7dDerived d; Base* bp = &amp;d; \/\/ \u5411\u4e0a\u8f6c\u578b\uff0c\u5b89\u5168<\/li>\n\n\n\n<li><strong>\u5411\u4e0b\u8f6c\u578b<\/strong>\uff1a\u5c06\u57fa\u7c7b\u6307\u9488\u6216\u5f15\u7528\u8f6c\u6362\u4e3a\u6d3e\u751f\u7c7b\u6307\u9488\u6216\u5f15\u7528\u3002<ul><li><strong>\u65b9\u5411<\/strong>\uff1a\u57fa\u7c7b \u2192 \u6d3e\u751f\u7c7b<\/li><li><strong>\u5b89\u5168\u6027<\/strong>\uff1a\u4e0d\u5b89\u5168\uff0c\u56e0\u4e3a\u57fa\u7c7b\u6307\u9488\u53ef\u80fd\u5e76\u4e0d\u6307\u5411\u6d3e\u751f\u7c7b\u5bf9\u8c61\u3002<\/li><li><strong>\u65b9\u5f0f<\/strong>\uff1a\u5e94\u8be5\u4f7f\u7528<code>dynamic_cast<\/code>\uff08\u9700\u8981\u591a\u6001\u7c7b\u578b\uff09\u5e76\u8fdb\u884c\u68c0\u67e5\u3002<\/li><\/ul>cpp\u590d\u5236\u4e0b\u8f7dBase* bp = new Derived; Derived* dp = dynamic_cast&lt;Derived*>(bp); \/\/ \u5b89\u5168\u7684\u5411\u4e0b\u8f6c\u578b if (dp) { \/\/ \u8f6c\u6362\u6210\u529f }<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">203. \u7b80\u8ff0\u4e00\u4e0b\u4ec0\u4e48\u662f\u5e38\u51fd\u6570\uff0c\u6709\u4ec0\u4e48\u4f5c\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u5728\u6210\u5458\u51fd\u6570\u58f0\u660e\u7684\u53c2\u6570\u5217\u8868\u540e\u52a0\u4e0a<code>const<\/code>\u5173\u952e\u5b57\uff0c\u8be5\u51fd\u6570\u5c31\u6210\u4e3a\u5e38\u6210\u5458\u51fd\u6570\u3002cpp\u590d\u5236\u4e0b\u8f7dclass MyClass { public: int getValue() const { \/\/ \u5e38\u51fd\u6570 return value; } private: int value; };<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u627f\u8bfa\u4e0d\u4fee\u6539\u5bf9\u8c61\u72b6\u6001<\/strong>\uff1a\u5e38\u51fd\u6570\u5185\u4e0d\u80fd\u4fee\u6539\u7c7b\u7684\u975e\u9759\u6001\u6210\u5458\u53d8\u91cf\uff08\u9664\u975e\u6210\u5458\u88ab\u58f0\u660e\u4e3a<code>mutable<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u4ee5\u88ab\u5e38\u5bf9\u8c61\u8c03\u7528<\/strong>\uff1a\u5e38\u5bf9\u8c61\u53ea\u80fd\u8c03\u7528\u5e38\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u91cd\u8f7d\u533a\u5206<\/strong>\uff1a\u5e38\u51fd\u6570\u548c\u975e\u5e38\u51fd\u6570\u53ef\u4ee5\u5f62\u6210\u91cd\u8f7d\u3002<\/li>\n\n\n\n<li><strong>\u63a5\u53e3\u8bbe\u8ba1<\/strong>\uff1a\u660e\u786e\u8868\u793a\u8be5\u51fd\u6570\u662f\u53ea\u8bfb\u64cd\u4f5c\uff0c\u63d0\u9ad8\u4ee3\u7801\u7684\u53ef\u8bfb\u6027\u548c\u5b89\u5168\u6027\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">204. \u4e3a\u4ec0\u4e48\u7eaf\u865a\u51fd\u6570\u4e0d\u80fd\u5b9e\u4f8b\u5316<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5305\u542b\u7eaf\u865a\u51fd\u6570\u7684\u7c7b\u79f0\u4e3a<strong>\u62bd\u8c61\u7c7b<\/strong>\u3002\u4e0d\u80fd\u5b9e\u4f8b\u5316\u62bd\u8c61\u7c7b\u7684\u539f\u56e0\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8bed\u4e49\u4e0a\u4e0d\u5408\u7406<\/strong>\uff1a\u7eaf\u865a\u51fd\u6570\u6ca1\u6709\u5b9e\u73b0\uff0c\u5982\u679c\u5141\u8bb8\u5b9e\u4f8b\u5316\uff0c\u8c03\u7528\u7eaf\u865a\u51fd\u6570\u7684\u884c\u4e3a\u65e0\u6cd5\u5b9a\u4e49\u3002<\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u76ee\u7684<\/strong>\uff1a\u62bd\u8c61\u7c7b\u7684\u76ee\u7684\u662f\u5b9a\u4e49\u63a5\u53e3\u89c4\u8303\uff0c\u5f3a\u5236\u6d3e\u751f\u7c7b\u63d0\u4f9b\u5177\u4f53\u5b9e\u73b0\u3002\u5b9e\u4f8b\u5316\u62bd\u8c61\u7c7b\u8fdd\u80cc\u4e86\u8fd9\u4e00\u8bbe\u8ba1\u521d\u8877\u3002<\/li>\n\n\n\n<li><strong>\u7f16\u8bd1\u5668\u9650\u5236<\/strong>\uff1aC++\u6807\u51c6\u660e\u786e\u7981\u6b62\u521b\u5efa\u62bd\u8c61\u7c7b\u7684\u5bf9\u8c61\uff0c\u7f16\u8bd1\u5668\u4f1a\u62a5\u9519\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class AbstractClass {\npublic:\n    virtual void pureVirtual() = 0;  \/\/ \u7eaf\u865a\u51fd\u6570\n};\n\n\/\/ AbstractClass obj;  \/\/ \u9519\u8bef\uff1a\u4e0d\u80fd\u5b9e\u4f8b\u5316\u62bd\u8c61\u7c7b<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">205. \u8bf4\u8bf4\u4ec0\u4e48\u662f\u865a\u57fa\u7c7b\uff0c\u53ef\u5426\u88ab\u5b9e\u4f8b\u5316\uff1f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u865a\u57fa\u7c7b<\/strong>\uff1a\u5728\u591a\u91cd\u7ee7\u627f\u4e2d\uff0c\u4f7f\u7528<code>virtual<\/code>\u5173\u952e\u5b57\u7ee7\u627f\u7684\u57fa\u7c7b\u79f0\u4e3a\u865a\u57fa\u7c7b\u3002\u7528\u4e8e\u89e3\u51b3\u83f1\u5f62\u7ee7\u627f\u95ee\u9898\u3002cpp\u590d\u5236\u4e0b\u8f7dclass A {}; class B : virtual public A {}; \/\/ A\u662fB\u7684\u865a\u57fa\u7c7b class C : virtual public A {}; \/\/ A\u662fC\u7684\u865a\u57fa\u7c7b class D : public B, public C {}; \/\/ D\u4e2d\u53ea\u6709\u4e00\u4efdA\u7684\u5b9e\u4f8b<\/li>\n\n\n\n<li><strong>\u53ef\u5426\u88ab\u5b9e\u4f8b\u5316<\/strong>\uff1a<strong>\u53ef\u4ee5<\/strong>\u3002\u865a\u57fa\u7c7b\u672c\u8eab\u5982\u679c\u4e0d\u662f\u62bd\u8c61\u7c7b\uff08\u6ca1\u6709\u7eaf\u865a\u51fd\u6570\uff09\uff0c\u662f\u53ef\u4ee5\u88ab\u5b9e\u4f8b\u5316\u7684\u3002\u865a\u7ee7\u627f\u53ea\u5f71\u54cd\u7ee7\u627f\u5173\u7cfb\u4e2d\u7684\u5bf9\u8c61\u5e03\u5c40\uff0c\u4e0d\u5f71\u54cd\u57fa\u7c7b\u672c\u8eab\u7684\u5b9e\u4f8b\u5316\u80fd\u529b\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">206. \u89e3\u91ca\u4e0b C++ \u4e2d\u7c7b\u6a21\u677f\u548c\u6a21\u677f\u7c7b\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u662f\u4e00\u4e2a\u672f\u8bed\u4e0a\u7684\u7ec6\u5fae\u533a\u522b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c7b\u6a21\u677f<\/strong>\uff1a\u662f\u4e00\u4e2a\u6a21\u677f\uff0c\u662f<strong>\u84dd\u56fe<\/strong>\u3002\u5b83\u672c\u8eab\u4e0d\u662f\u4e00\u4e2a\u7c7b\uff0c\u800c\u662f\u7528\u6765\u751f\u6210\u7c7b\u7684\u6a21\u677f\u3002cpp\u590d\u5236\u4e0b\u8f7dtemplate&lt;typename T> \/\/ \u8fd9\u662f\u4e00\u4e2a\u7c7b\u6a21\u677f class Vector { \/\/ &#8230; };<\/li>\n\n\n\n<li><strong>\u6a21\u677f\u7c7b<\/strong>\uff1a\u662f\u7531\u7c7b\u6a21\u677f\u751f\u6210\u7684<strong>\u5177\u4f53\u7684\u7c7b<\/strong>\u3002cpp\u590d\u5236\u4e0b\u8f7dVector&lt;int>; \/\/ \u8fd9\u662f\u4e00\u4e2a\u6a21\u677f\u7c7b\uff08\u7531\u7c7b\u6a21\u677fVector\u751f\u6210\u7684\u5177\u4f53\u7c7b\uff09 Vector&lt;double>; \/\/ \u8fd9\u662f\u53e6\u4e00\u4e2a\u6a21\u677f\u7c7b<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u65e5\u5e38\u4f7f\u7528\u4e2d<\/strong>\uff0c\u8fd9\u4e24\u4e2a\u672f\u8bed\u7ecf\u5e38\u6df7\u7528\uff0c\u4f46\u4e25\u683c\u6765\u8bf4\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c7b\u6a21\u677f<\/strong>\u5f3a\u8c03\u7684\u662f&#8221;\u6a21\u677f&#8221;\u7684\u7279\u6027<\/li>\n\n\n\n<li><strong>\u6a21\u677f\u7c7b<\/strong>\u5f3a\u8c03\u7684\u662f&#8221;\u7c7b&#8221;\u7684\u7279\u6027<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">207. \u8bf7\u4f60\u6765\u4ecb\u7ecd\u4e00\u4e0b STL \u7684\u7a7a\u95f4\u914d\u7f6e\u5668<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> STL\u7a7a\u95f4\u914d\u7f6e\u5668\uff08allocator\uff09\u8d1f\u8d23\u5185\u5b58\u7684\u5206\u914d\u548c\u91ca\u653e\uff0c\u5bf9\u7528\u6237\u900f\u660e\u4f46\u5f88\u91cd\u8981\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u8981\u804c\u8d23<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5185\u5b58\u7684\u5206\u914d\uff08<code>allocate<\/code>\uff09<\/li>\n\n\n\n<li>\u5185\u5b58\u7684\u91ca\u653e\uff08<code>deallocate<\/code>\uff09<\/li>\n\n\n\n<li>\u5bf9\u8c61\u7684\u6784\u9020\uff08<code>construct<\/code>\uff09<\/li>\n\n\n\n<li>\u5bf9\u8c61\u7684\u6790\u6784\uff08<code>destroy<\/code>\uff09<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u7279\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5206\u79bb\u5185\u5b58\u5206\u914d\u4e0e\u5bf9\u8c61\u6784\u9020<\/strong>\uff1a\u5148\u5206\u914d\u539f\u59cb\u5185\u5b58\uff0c\u518d\u5728\u5185\u5b58\u4e0a\u6784\u9020\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>\u63d0\u9ad8\u6548\u7387<\/strong>\uff1a\u5bf9\u4e8e\u5c0f\u5185\u5b58\u5757\uff0c\u53ef\u80fd\u4f7f\u7528\u5185\u5b58\u6c60\u6280\u672f\u51cf\u5c11\u5185\u5b58\u788e\u7247\u548c\u5206\u914d\u5f00\u9500\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u5b9a\u5236\u6027<\/strong>\uff1aSTL\u5bb9\u5668\u5141\u8bb8\u7528\u6237\u63d0\u4f9b\u81ea\u5b9a\u4e49\u7684\u7a7a\u95f4\u914d\u7f6e\u5668\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7ecf\u5178\u5b9e\u73b0<\/strong>\uff1aSGI STL\u7684\u53cc\u5c42\u914d\u7f6e\u5668\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7b2c\u4e00\u5c42\u76f4\u63a5\u4f7f\u7528<code>malloc<\/code>\u548c<code>free<\/code><\/li>\n\n\n\n<li>\u7b2c\u4e8c\u5c42\u4f7f\u7528\u5185\u5b58\u6c60\u7ba1\u7406\u5c0f\u5185\u5b58\u5757<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">208. STL \u5bb9\u5668\u7528\u8fc7\u54ea\u4e9b\uff0c\u67e5\u627e\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u662f\u591a\u5c11\uff0c\u4e3a\u4ec0\u4e48\uff1f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u5bb9\u5668<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u67e5\u627e\u65f6\u95f4\u590d\u6742\u5ea6<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u539f\u56e0<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>vector<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u904d\u5386\u6240\u6709\u5143\u7d20<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>deque<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u904d\u5386\u6240\u6709\u5143\u7d20<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>list<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u904d\u5386\u6240\u6709\u5143\u7d20<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>set<\/code>\/<code>map<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(log n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u57fa\u4e8e\u7ea2\u9ed1\u6811\uff0c\u6811\u9ad8\u4e3alog n<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>multiset<\/code>\/<code>multimap<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(log n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u57fa\u4e8e\u7ea2\u9ed1\u6811<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><code>unordered_set<\/code>\/<code>unordered_map<\/code><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e73\u5747O(1)\uff0c\u6700\u574fO(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u57fa\u4e8e\u54c8\u5e0c\u8868\uff0c\u5e73\u5747\u60c5\u51b5\u4e0b\u5e38\u6570\u65f6\u95f4<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">209. \u8fed\u4ee3\u5668\u7528\u8fc7\u5417\uff1f\u4ec0\u4e48\u65f6\u5019\u4f1a\u5931\u6548\uff1f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u8fc7<\/strong>\uff1a\u8fed\u4ee3\u5668\u662fSTL\u4e2d\u7528\u4e8e\u904d\u5386\u5bb9\u5668\u7684\u91cd\u8981\u5de5\u5177\u3002<\/li>\n\n\n\n<li><strong>\u5931\u6548\u65f6\u673a<\/strong>\uff08\u4e3b\u8981\u5bb9\u5668\uff09\uff1a\n<ol class=\"wp-block-list\">\n<li><strong><code>vector<\/code>\/<code>string<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63d2\u5165\u5143\u7d20\u53ef\u80fd\u5bfc\u81f4\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548\uff08\u5982\u679c\u5f15\u8d77\u91cd\u65b0\u5206\u914d\uff09<\/li>\n\n\n\n<li>\u5220\u9664\u5143\u7d20\u4f1a\u4f7f\u88ab\u5220\u5143\u7d20\u53ca\u4e4b\u540e\u7684\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>deque<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u9996\u5c3e\u63d2\u5165\u53ef\u80fd\u4f7f\u90e8\u5206\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n\n\n\n<li>\u5728\u4e2d\u95f4\u63d2\u5165\u4f1a\u4f7f\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n\n\n\n<li>\u5220\u9664\u5143\u7d20\u4f1a\u4f7f\u88ab\u5220\u5143\u7d20\u53ca\u4e4b\u540e\u7684\u6240\u6709\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>list<\/code>\/<code>forward_list<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63d2\u5165\u4e0d\u4f1a\u4f7f\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n\n\n\n<li>\u5220\u9664\u53ea\u4f1a\u4f7f\u6307\u5411\u88ab\u5220\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u8054\u5bb9\u5668<\/strong>\uff08<code>set<\/code>, <code>map<\/code>\u7b49\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63d2\u5165\u4e0d\u4f1a\u4f7f\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n\n\n\n<li>\u5220\u9664\u53ea\u4f1a\u4f7f\u6307\u5411\u88ab\u5220\u5143\u7d20\u7684\u8fed\u4ee3\u5668\u5931\u6548<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">210. \u8bf4\u4e00\u4e0bSTL\u4e2d\u8fed\u4ee3\u5668\u7684\u4f5c\u7528\uff0c\u6709\u6307\u9488\u4e3a\u4f55\u8fd8\u8981\u8fed\u4ee3\u5668<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8fed\u4ee3\u5668\u7684\u4f5c\u7528<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7edf\u4e00\u8bbf\u95ee\u63a5\u53e3<\/strong>\uff1a\u4e3a\u4e0d\u540c\u7684\u5bb9\u5668\u63d0\u4f9b\u4e00\u81f4\u7684\u904d\u5386\u65b9\u5f0f<\/li>\n\n\n\n<li><strong>\u8fde\u63a5\u5bb9\u5668\u4e0e\u7b97\u6cd5<\/strong>\uff1aSTL\u7b97\u6cd5\u901a\u8fc7\u8fed\u4ee3\u5668\u64cd\u4f5c\u5bb9\u5668\uff0c\u5b9e\u73b0\u6570\u636e\u4e0e\u7b97\u6cd5\u7684\u5206\u79bb<\/li>\n\n\n\n<li><strong>\u9690\u85cf\u5b9e\u73b0\u7ec6\u8282<\/strong>\uff1a\u7528\u6237\u4e0d\u9700\u8981\u5173\u5fc3\u5bb9\u5668\u7684\u5185\u90e8\u7ed3\u6784<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u4e3a\u4ec0\u4e48\u4e0d\u7528\u6307\u9488<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4e0d\u662f\u6240\u6709\u5bb9\u5668\u90fd\u80fd\u7528\u6307\u9488\u904d\u5386<\/strong>\uff1a\u5982<code>list<\/code>\u3001<code>map<\/code>\u7b49\u975e\u8fde\u7eed\u5b58\u50a8\u7684\u5bb9\u5668<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027<\/strong>\uff1a\u8fed\u4ee3\u5668\u53ef\u4ee5\u5305\u542b\u8fb9\u754c\u68c0\u67e5\u7b49\u5b89\u5168\u673a\u5236<\/li>\n\n\n\n<li><strong>\u529f\u80fd\u4e30\u5bcc<\/strong>\uff1a\u8fed\u4ee3\u5668\u5206\u7c7b\uff08\u8f93\u5165\u3001\u8f93\u51fa\u3001\u524d\u5411\u3001\u53cc\u5411\u3001\u968f\u673a\u8bbf\u95ee\uff09\u652f\u6301\u4e0d\u540c\u5c42\u6b21\u7684\u64cd\u4f5c<\/li>\n\n\n\n<li><strong>\u62bd\u8c61\u5c42\u6b21\u66f4\u9ad8<\/strong>\uff1a\u8fed\u4ee3\u5668\u662f\u8bbe\u8ba1\u6a21\u5f0f\u7684\u4f53\u73b0\uff0c\u63d0\u4f9b\u66f4\u4f18\u96c5\u7684\u62bd\u8c61<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">211. \u8bf4\u8bf4 STL \u4e2d resize \u548c reserve \u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u9762<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>resize(n)<\/code><\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><code>reserve(n)<\/code><\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f5c\u7528\u5bf9\u8c61<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5bb9\u5668\u7684\u5927\u5c0f\uff08<code>size<\/code>\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5bb9\u5668\u7684\u5bb9\u91cf\uff08<code>capacity<\/code>\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f71\u54cd<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6539\u53d8\u5143\u7d20\u4e2a\u6570\uff0c\u53ef\u80fd\u6784\u9020\u65b0\u5143\u7d20\u6216\u9500\u6bc1\u591a\u4f59\u5143\u7d20<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ea\u5206\u914d\u5185\u5b58\uff0c\u4e0d\u521b\u5efa\u6216\u9500\u6bc1\u5143\u7d20<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53c2\u6570\u542b\u4e49<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">n\u8868\u793a\u65b0\u7684\u5143\u7d20\u4e2a\u6570<\/td><td class=\"has-text-align-left\" data-align=\"left\">n\u8868\u793a\u5e0c\u671b\u9884\u7559\u7684\u6700\u5c0f\u5bb9\u91cf<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9002\u7528\u5bb9\u5668<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>vector<\/code>, <code>deque<\/code>, <code>string<\/code>, <code>list<\/code>\u7b49<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b\u8981\u662f<code>vector<\/code>, <code>string<\/code><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5143\u7d20\u503c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u6307\u5b9a\u65b0\u5143\u7d20\u7684\u503c\uff08\u7b2c\u4e8c\u4e2a\u53c2\u6570\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u6d89\u53ca\u5143\u7d20\u503c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">cpp<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">std::vector&lt;int&gt; vec;\nvec.resize(10);    \/\/ size=10, \u9ed8\u8ba4\u6784\u902010\u4e2a\u5143\u7d20\nvec.reserve(100);  \/\/ capacity&gt;=100, size\u4ecd\u4e3a10<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">212. weak_ptr \u80fd\u4e0d\u80fd\u77e5\u9053\u5bf9\u8c61\u8ba1\u6570\u4e3a 0\uff0c\u4e3a\u4ec0\u4e48\uff1f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u4e0d\u80fd\u76f4\u63a5\u77e5\u9053\uff0c\u4f46\u53ef\u4ee5\u95f4\u63a5\u5224\u65ad\u3002<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u56e0<\/strong>\uff1a<code>weak_ptr<\/code>\u7684\u8bbe\u8ba1\u76ee\u7684\u662f\u89c2\u5bdf<code>shared_ptr<\/code>\u800c\u4e0d\u5f71\u54cd\u5176\u751f\u547d\u5468\u671f\uff0c\u56e0\u6b64\u5b83\u4e0d\u53c2\u4e0e\u5f15\u7528\u8ba1\u6570\u3002<\/li>\n\n\n\n<li><strong>\u5224\u65ad\u65b9\u6cd5<\/strong>\uff1a\u4f7f\u7528<code>weak_ptr::expired()<\/code>\u65b9\u6cd5\u6216<code>weak_ptr::lock()<\/code>\u65b9\u6cd5\uff1acpp\u590d\u5236\u4e0b\u8f7dstd::weak_ptr&lt;MyClass> wp = sp; \/\/ sp\u662fshared_ptr \/\/ \u65b9\u6cd51\uff1a\u4f7f\u7528expired() if (wp.expired()) { \/\/ \u5bf9\u8c61\u5df2\u88ab\u91ca\u653e } \/\/ \u65b9\u6cd52\uff1a\u4f7f\u7528lock()\uff08\u66f4\u5e38\u7528\uff09 if (auto sp2 = wp.lock()) { \/\/ \u5bf9\u8c61\u8fd8\u5b58\u5728\uff0c\u53ef\u4ee5\u4f7f\u7528sp2 } else { \/\/ \u5bf9\u8c61\u5df2\u88ab\u91ca\u653e }<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">213. \u8bf7\u4f60\u56de\u7b54\u4e00\u4e0b\u667a\u80fd\u6307\u9488\u6709\u6ca1\u6709\u5185\u5b58\u6cc4\u9732\u7684\u60c5\u51b5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u6709\uff0c\u667a\u80fd\u6307\u9488\u4e0d\u662f\u4e07\u80fd\u7684\uff0c\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u4ecd\u53ef\u80fd\u5bfc\u81f4\u5185\u5b58\u6cc4\u6f0f\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5faa\u73af\u5f15\u7528<\/strong>\uff1a\u8fd9\u662f\u6700\u5e38\u89c1\u7684\u60c5\u51b5cpp\u590d\u5236\u4e0b\u8f7dclass A { std::shared_ptr&lt;B> b_ptr; }; class B { std::shared_ptr&lt;A> a_ptr; \/\/ \u5faa\u73af\u5f15\u7528\uff01 }; auto a = std::make_shared&lt;A>(); auto b = std::make_shared&lt;B>(); a->b_ptr = b; b->a_ptr = a; \/\/ \u5faa\u73af\u5f15\u7528\uff0c\u5185\u5b58\u6cc4\u6f0f\uff01<strong>\u89e3\u51b3\u65b9\u6cd5<\/strong>\uff1a\u5c06\u5176\u4e2d\u4e00\u4e2a\u6539\u4e3a<code>weak_ptr<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u9759\u6001\u53d8\u91cf\u6301\u6709\u667a\u80fd\u6307\u9488<\/strong>\uff1a\u9759\u6001\u53d8\u91cf\u7684\u751f\u547d\u5468\u671f\u662f\u6574\u4e2a\u7a0b\u5e8f\uff0c\u5982\u679c\u5b83\u6301\u6709<code>shared_ptr<\/code>\uff0c\u76f8\u5173\u5bf9\u8c61\u6c38\u8fdc\u4e0d\u4f1a\u91ca\u653e\u3002<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u5b89\u5168\u95ee\u9898<\/strong>\uff1a\u5982\u679c\u591a\u4e2a\u7ebf\u7a0b\u4e0d\u52a0\u9501\u5730\u64cd\u4f5c\u540c\u4e00\u4e2a\u667a\u80fd\u6307\u9488\uff0c\u53ef\u80fd\u5bfc\u81f4\u91cd\u590d\u91ca\u653e\u6216\u5185\u5b58\u6cc4\u6f0f\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">214. \u7b80\u8ff0\u4e00\u4e0b C++11 \u4e2d\u7684\u53ef\u53d8\u53c2\u6570\u6a21\u677f\u65b0\u7279\u6027<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u53ef\u53d8\u53c2\u6570\u6a21\u677f\u5141\u8bb8\u6a21\u677f\u63a5\u53d7\u4efb\u610f\u6570\u91cf\u548c\u7c7b\u578b\u7684\u53c2\u6570\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u57fa\u672c\u8bed\u6cd5<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dtemplate&lt;typename&#8230; Args> \/\/ \u6a21\u677f\u53c2\u6570\u5305 void func(Args&#8230; args) { \/\/ \u51fd\u6570\u53c2\u6570\u5305 \/\/ &#8230; }<\/li>\n\n\n\n<li><strong>\u53c2\u6570\u5305\u5c55\u5f00<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u9012\u5f52\u5c55\u5f00 template&lt;typename T, typename&#8230; Args> void print(T first, Args&#8230; rest) { std::cout &lt;&lt; first; if constexpr (sizeof&#8230;(rest) > 0) { print(rest&#8230;); \/\/ \u9012\u5f52\u8c03\u7528 } } \/\/ \u6298\u53e0\u8868\u8fbe\u5f0f\uff08C++17\uff09 template&lt;typename&#8230; Args> auto sum(Args&#8230; args) { return (args + &#8230;); \/\/ \u6298\u53e0\u8868\u8fbe\u5f0f }<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u573a\u666f<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><code>std::make_shared<\/code>, <code>std::make_unique<\/code><\/li>\n\n\n\n<li><code>std::tuple<\/code><\/li>\n\n\n\n<li>\u5b8c\u7f8e\u8f6c\u53d1<\/li>\n\n\n\n<li>\u65e5\u5fd7\u51fd\u6570\u7b49\u9700\u8981\u5904\u7406\u4e0d\u5b9a\u53c2\u6570\u7684\u573a\u666f<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">215. Reactor\u7684\u7b80\u4ecb<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> Reactor\u662f\u4e00\u79cd\u5904\u7406\u5e76\u53d1I\/O\u7684\u8bbe\u8ba1\u6a21\u5f0f\uff0c\u4e3b\u8981\u7528\u4e8e\u7f51\u7edc\u7f16\u7a0b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u601d\u60f3<\/strong>\uff1a<strong>&#8220;\u4e0d\u8981\u7528\u8f6e\u8be2\u6765\u53eb\u6211\uff0c\u6709\u4e8b\u4ef6\u65f6\u6211\u4f1a\u53eb\u4f60&#8221;<\/strong><\/li>\n\n\n\n<li><strong>\u4e3b\u8981\u7ec4\u4ef6<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4e8b\u4ef6\u591a\u8def\u5206\u89e3\u5668<\/strong>\uff1a\u5982<code>select<\/code>, <code>poll<\/code>, <code>epoll<\/code>\uff0c\u7b49\u5f85\u591a\u4e2aI\/O\u4e8b\u4ef6<\/li>\n\n\n\n<li><strong>\u4e8b\u4ef6\u5206\u53d1\u5668<\/strong>\uff1a\u5c06\u5c31\u7eea\u7684\u4e8b\u4ef6\u5206\u53d1\u7ed9\u5bf9\u5e94\u7684\u4e8b\u4ef6\u5904\u7406\u5668<\/li>\n\n\n\n<li><strong>\u4e8b\u4ef6\u5904\u7406\u5668<\/strong>\uff1a\u5904\u7406\u5177\u4f53\u7684I\/O\u4e8b\u4ef6<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u6d41\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5e94\u7528\u7a0b\u5e8f\u5411\u4e8b\u4ef6\u591a\u8def\u5206\u89e3\u5668\u6ce8\u518c\u611f\u5174\u8da3\u7684\u4e8b\u4ef6<\/li>\n\n\n\n<li>\u4e8b\u4ef6\u591a\u8def\u5206\u89e3\u5668\u963b\u585e\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f<\/li>\n\n\n\n<li>\u5f53\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u4e8b\u4ef6\u591a\u8def\u5206\u89e3\u5668\u8fd4\u56de\u5c31\u7eea\u7684\u4e8b\u4ef6<\/li>\n\n\n\n<li>\u4e8b\u4ef6\u5206\u53d1\u5668\u8c03\u7528\u76f8\u5e94\u7684\u4e8b\u4ef6\u5904\u7406\u5668\u8fdb\u884c\u5904\u7406<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5355\u7ebf\u7a0b\u53ef\u4ee5\u5904\u7406\u5927\u91cf\u8fde\u63a5<\/li>\n\n\n\n<li>\u907f\u514d\u4e3a\u6bcf\u4e2a\u8fde\u63a5\u521b\u5efa\u7ebf\u7a0b\u7684\u5f00\u9500<\/li>\n\n\n\n<li>\u7f16\u7a0b\u6a21\u578b\u76f8\u5bf9\u7b80\u5355<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5728C++\u4e2d\u7684\u5e94\u7528<\/strong>\uff1aBoost.Asio\u3001Muduo\u7b49\u7f51\u7edc\u5e93\u90fd\u57fa\u4e8eReactor\u6a21\u5f0f<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">216. ++i\u548ci++\u7684\u533a\u522b\uff0c\u4e3a\u4ec0\u4e48++i\u7684\u6548\u7387\u66f4\u9ad8<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u533a\u522b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong><code>++i<\/code><\/strong>\uff08\u524d\u7f6e\u9012\u589e\uff09\uff1a\u5148\u52a01\uff0c\u540e\u8fd4\u56de\u503c<\/li>\n\n\n\n<li><strong><code>i++<\/code><\/strong>\uff08\u540e\u7f6e\u9012\u589e\uff09\uff1a\u5148\u8fd4\u56de\u539f\u503c\uff0c\u540e\u52a01<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6548\u7387\u5dee\u5f02<\/strong>\uff1a \u5bf9\u4e8e\u5185\u7f6e\u7c7b\u578b\uff0c\u73b0\u4ee3\u7f16\u8bd1\u5668\u901a\u5e38\u80fd\u4f18\u5316\u6389\u5dee\u5f02\u3002\u4f46\u5bf9\u4e8e\u81ea\u5b9a\u4e49\u7c7b\u578b\uff08\u5982\u8fed\u4ee3\u5668\uff09\uff0c<code>++i<\/code>\u66f4\u9ad8\u6548\uff0c\u56e0\u4e3a\uff1a<ol start=\"\"><li><strong><code>++i<\/code><\/strong>\uff1a\u76f4\u63a5\u4fee\u6539\u5bf9\u8c61\u5e76\u8fd4\u56de\u5f15\u7528\uff0c\u4e0d\u521b\u5efa\u4e34\u65f6\u5bf9\u8c61<\/li><li><strong><code>i++<\/code><\/strong>\uff1a\u9700\u8981\u521b\u5efa\u4e34\u65f6\u5bf9\u8c61\u4fdd\u5b58\u539f\u503c\uff0c\u4fee\u6539\u5bf9\u8c61\uff0c\u8fd4\u56de\u4e34\u65f6\u5bf9\u8c61<\/li><\/ol>cpp\u590d\u5236\u4e0b\u8f7d\/\/ \u524d\u7f6e\u9012\u589e\uff08\u9ad8\u6548\uff09 T&amp; operator++() { \/\/ \u76f4\u63a5\u4fee\u6539\u5e76\u8fd4\u56de*this return *this; } \/\/ \u540e\u7f6e\u9012\u589e\uff08\u4f4e\u6548\uff09 T operator++(int) { T temp = *this; \/\/ \u521b\u5efa\u4e34\u65f6\u5bf9\u8c61 ++*this; \/\/ \u8c03\u7528\u524d\u7f6e\u9012\u589e return temp; \/\/ \u8fd4\u56de\u4e34\u65f6\u5bf9\u8c61\uff08\u53ef\u80fd\u6d89\u53ca\u62f7\u8d1d\uff09 }<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">217. \u4ec0\u4e48\u65f6\u5019\u4f7f\u7528\u5f15\u7528\uff0c\u4ec0\u4e48\u65f6\u5019\u4f7f\u7528\u6307\u9488<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u573a\u666f<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f7f\u7528\u5f15\u7528<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f7f\u7528\u6307\u9488<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u51fd\u6570\u53c2\u6570<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63a8\u8350\u4f7f\u7528\uff0c\u66f4\u5b89\u5168\u76f4\u89c2<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u4f20\u9012nullptr\u6216\u9700\u8981\u91cd\u65b0\u6307\u5411\u65f6<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u51fd\u6570\u8fd4\u56de\u503c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u8fd4\u56de\u5f15\u7528\uff0c\u4f46\u5fc5\u987b\u786e\u4fdd\u5f15\u7528\u6709\u6548<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u8fd4\u56de\u6307\u9488\uff0c\u8c03\u7528\u8005\u68c0\u67e5nullptr<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6210\u5458\u53d8\u91cf<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u987b\u5728\u521d\u59cb\u5316\u5217\u8868\u4e2d\u521d\u59cb\u5316<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u5ef6\u8fdf\u521d\u59cb\u5316\uff0c\u53ef\u4ee5\u4e3anullptr<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u91cd\u65b0\u8d4b\u503c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u80fd\u91cd\u65b0\u7ed1\u5b9a\u5230\u5176\u4ed6\u5bf9\u8c61<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u6539\u53d8\u6307\u5411<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5bb9\u5668\u5143\u7d20<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u80fd\u76f4\u63a5\u5b58\u50a8\u5f15\u7528<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u5b58\u50a8\u6307\u9488<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u591a\u6001<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u57fa\u7c7b\u5f15\u7528\u53ef\u4ee5\u7ed1\u5b9a\u5230\u6d3e\u751f\u7c7b\u5bf9\u8c61<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u57fa\u7c7b\u6307\u9488\u53ef\u4ee5\u6307\u5411\u6d3e\u751f\u7c7b\u5bf9\u8c61<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e00\u822c\u539f\u5219<\/strong>\uff1a\u4f18\u5148\u4f7f\u7528\u5f15\u7528\uff0c\u9664\u975e\u9700\u8981\u6307\u9488\u7684\u7279\u6027\uff08\u5982\u53ef\u4e3a\u7a7a\u3001\u53ef\u91cd\u6307\u5411\uff09\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">218. \u53ef\u6267\u884c\u7a0b\u5e8f\u7531\u4ec0\u4e48\u7ec4\u6210\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u53ef\u6267\u884c\u7a0b\u5e8f\u901a\u5e38\u7531\u4ee5\u4e0b\u51e0\u90e8\u5206\u7ec4\u6210\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4ee3\u7801\u6bb5<\/strong>\uff08.text\uff09\uff1a\u5b58\u653e\u7a0b\u5e8f\u7684\u673a\u5668\u6307\u4ee4<\/li>\n\n\n\n<li><strong>\u6570\u636e\u6bb5<\/strong>\uff08.data\uff09\uff1a\u5b58\u653e\u5df2\u521d\u59cb\u5316\u7684\u5168\u5c40\u53d8\u91cf\u548c\u9759\u6001\u53d8\u91cf<\/li>\n\n\n\n<li><strong>BSS\u6bb5<\/strong>\uff08.bss\uff09\uff1a\u5b58\u653e\u672a\u521d\u59cb\u5316\u7684\u5168\u5c40\u53d8\u91cf\u548c\u9759\u6001\u53d8\u91cf<\/li>\n\n\n\n<li><strong>\u5806<\/strong>\uff1a\u52a8\u6001\u5206\u914d\u7684\u5185\u5b58\u533a\u57df<\/li>\n\n\n\n<li><strong>\u6808<\/strong>\uff1a\u7528\u4e8e\u51fd\u6570\u8c03\u7528\u3001\u5c40\u90e8\u53d8\u91cf\u7b49<\/li>\n\n\n\n<li><strong>\u6587\u4ef6\u5934<\/strong>\uff1a\u5305\u542b\u7a0b\u5e8f\u7684\u5143\u4fe1\u606f\uff08\u5982ELF\u5934\u3001PE\u5934\uff09<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u78c1\u76d8\u4e0a\u7684\u53ef\u6267\u884c\u6587\u4ef6\u8fd8\u5305\u62ec\u91cd\u5b9a\u4f4d\u4fe1\u606f\u3001\u7b26\u53f7\u8868\u3001\u8c03\u8bd5\u4fe1\u606f\u7b49\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">219. \u5b58\u50a8\u671f\u9650\u548c\u751f\u547d\u5468\u671f\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b58\u50a8\u671f\u9650<\/strong>\uff1a\u5bf9\u8c61\u5728\u5185\u5b58\u4e2d\u5b58\u5728\u7684<strong>\u65f6\u95f4\u8303\u56f4<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u81ea\u52a8\u5b58\u50a8\u671f\uff1a\u5c40\u90e8\u53d8\u91cf\u7684\u751f\u5b58\u671f<\/li>\n\n\n\n<li>\u9759\u6001\u5b58\u50a8\u671f\uff1a\u5168\u5c40\u53d8\u91cf\u3001\u9759\u6001\u53d8\u91cf\u7684\u751f\u5b58\u671f<\/li>\n\n\n\n<li>\u52a8\u6001\u5b58\u50a8\u671f\uff1a\u901a\u8fc7new\u5206\u914d\u7684\u5bf9\u8c61<\/li>\n\n\n\n<li>\u7ebf\u7a0b\u5b58\u50a8\u671f\uff1athread_local\u53d8\u91cf\u7684\u751f\u5b58\u671f<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u751f\u547d\u5468\u671f<\/strong>\uff1a\u5bf9\u8c61\u4ece<strong>\u6784\u9020\u5230\u6790\u6784<\/strong>\u7684\u5b8c\u6574\u8fc7\u7a0b\n<ul class=\"wp-block-list\">\n<li>\u5f00\u59cb\uff1a\u6784\u9020\u51fd\u6570\u5b8c\u6210\u65f6<\/li>\n\n\n\n<li>\u7ed3\u675f\uff1a\u6790\u6784\u51fd\u6570\u5b8c\u6210\u65f6<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5173\u7cfb<\/strong>\uff1a\u5b58\u50a8\u671f\u9650\u51b3\u5b9a\u4e86\u5bf9\u8c61\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u5728\u65f6\u95f4\uff0c\u751f\u547d\u5468\u671f\u662f\u5bf9\u8c61\u4ece\u751f\u5230\u6b7b\u7684\u5b8c\u6574\u8fc7\u7a0b\u3002\u4e24\u8005\u5bc6\u5207\u76f8\u5173\u4f46\u4e0d\u5b8c\u5168\u76f8\u540c\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">220. \u503c\u7684\u5206\u7c7b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> C++11\u5c06\u8868\u8fbe\u5f0f\u6309\u503c\u7c7b\u522b\u5206\u4e3a\u4e09\u7c7b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5de6\u503c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6709\u6807\u8bc6\u7b26\u3001\u6709\u5730\u5740\u7684\u8868\u8fbe\u5f0f<\/li>\n\n\n\n<li>\u53ef\u4ee5\u51fa\u73b0\u5728\u8d4b\u503c\u53f7\u5de6\u8fb9<\/li>\n\n\n\n<li>\u4f8b\u5b50\uff1a\u53d8\u91cf\u540d\u3001\u51fd\u6570\u540d\u3001\u8fd4\u56de\u5de6\u503c\u5f15\u7528\u7684\u51fd\u6570\u8c03\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7eaf\u53f3\u503c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6ca1\u6709\u6807\u8bc6\u7b26\u3001\u4e34\u65f6\u6027\u7684\u8868\u8fbe\u5f0f<\/li>\n\n\n\n<li>\u4e0d\u80fd\u51fa\u73b0\u5728\u8d4b\u503c\u53f7\u5de6\u8fb9<\/li>\n\n\n\n<li>\u4f8b\u5b50\uff1a\u5b57\u9762\u91cf\u3001\u8fd4\u56de\u975e\u5f15\u7528\u7c7b\u578b\u7684\u51fd\u6570\u8c03\u7528\u3001\u4e34\u65f6\u5bf9\u8c61<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5c06\u4ea1\u503c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5373\u5c06\u88ab\u79fb\u52a8\u7684\u5bf9\u8c61<\/li>\n\n\n\n<li>\u4f8b\u5b50\uff1a\u8fd4\u56de\u53f3\u503c\u5f15\u7528\u7684\u51fd\u6570\u8c03\u7528\u3001std::move\u7684\u8fd4\u56de\u503c<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b80\u5316\u7684\u7406\u89e3<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5de6\u503c\uff1a\u6301\u4e45\u5b58\u5728\u7684\u5bf9\u8c61<\/li>\n\n\n\n<li>\u53f3\u503c\uff1a\u4e34\u65f6\u5bf9\u8c61\u6216\u5c06\u88ab\u79fb\u52a8\u7684\u5bf9\u8c61<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Linux<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">221. \u8bf4\u8bf4Linux\u4e2d\u7684\u5e38\u7528\u7684\u547d\u4ee4<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5e38\u7528Linux\u547d\u4ee4\u5206\u7c7b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6587\u4ef6\u64cd\u4f5c<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ls<\/code>\uff1a\u5217\u51fa\u76ee\u5f55\u5185\u5bb9<\/li>\n\n\n\n<li><code>cd<\/code>\uff1a\u5207\u6362\u76ee\u5f55<\/li>\n\n\n\n<li><code>cp<\/code>\uff1a\u590d\u5236\u6587\u4ef6<\/li>\n\n\n\n<li><code>mv<\/code>\uff1a\u79fb\u52a8\u6587\u4ef6<\/li>\n\n\n\n<li><code>rm<\/code>\uff1a\u5220\u9664\u6587\u4ef6<\/li>\n\n\n\n<li><code>cat<\/code>\uff1a\u67e5\u770b\u6587\u4ef6\u5185\u5bb9<\/li>\n\n\n\n<li><code>find<\/code>\uff1a\u67e5\u627e\u6587\u4ef6<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7cfb\u7edf\u4fe1\u606f<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ps<\/code>\uff1a\u67e5\u770b\u8fdb\u7a0b<\/li>\n\n\n\n<li><code>top<\/code>\uff1a\u7cfb\u7edf\u76d1\u63a7<\/li>\n\n\n\n<li><code>df<\/code>\uff1a\u78c1\u76d8\u7a7a\u95f4<\/li>\n\n\n\n<li><code>free<\/code>\uff1a\u5185\u5b58\u4f7f\u7528<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7f51\u7edc\u76f8\u5173<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ping<\/code>\uff1a\u6d4b\u8bd5\u8fde\u901a\u6027<\/li>\n\n\n\n<li><code>netstat<\/code>\uff1a\u7f51\u7edc\u72b6\u6001<\/li>\n\n\n\n<li><code>ssh<\/code>\uff1a\u8fdc\u7a0b\u767b\u5f55<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6743\u9650\u7ba1\u7406<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>chmod<\/code>\uff1a\u4fee\u6539\u6743\u9650<\/li>\n\n\n\n<li><code>chown<\/code>\uff1a\u4fee\u6539\u6240\u6709\u8005<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">222. \u521b\u5efa\u8f6f\u8fde\u63a5\u7684\u547d\u4ee4\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u521b\u5efa\u8f6f\u94fe\u63a5\uff08\u7b26\u53f7\u94fe\u63a5\uff09\u7684\u547d\u4ee4\u662f\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ln -s \u6e90\u6587\u4ef6 \u94fe\u63a5\u540d<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u793a\u4f8b<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ln -s \/path\/to\/original\/file mylink<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u53c2\u6570\u8bf4\u660e<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-s<\/code>\uff1a\u521b\u5efa\u7b26\u53f7\u94fe\u63a5\uff08\u8f6f\u94fe\u63a5\uff09<\/li>\n\n\n\n<li>\u4e0d\u52a0<code>-s<\/code>\u521b\u5efa\u786c\u94fe\u63a5<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8f6f\u94fe\u63a5 vs \u786c\u94fe\u63a5<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8f6f\u94fe\u63a5\uff1a\u7c7b\u4f3cWindows\u5feb\u6377\u65b9\u5f0f\uff0c\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u6587\u4ef6<\/li>\n\n\n\n<li>\u786c\u94fe\u63a5\uff1a\u6307\u5411\u540c\u4e00inode\u7684\u591a\u4e2a\u6587\u4ef6\u540d<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">223. \/proc\u6587\u4ef6\u5939\u4e0b\u653e\u7684\u662f\u4ec0\u4e48<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>\/proc<\/code>\u662f\u4e00\u4e2a<strong>\u865a\u62df\u6587\u4ef6\u7cfb\u7edf<\/strong>\uff0c\u4e0d\u5360\u7528\u78c1\u76d8\u7a7a\u95f4\uff0c\u5b58\u653e\u7684\u662f<strong>\u5185\u6838\u548c\u8fdb\u7a0b\u7684\u8fd0\u884c\u65f6\u4fe1\u606f<\/strong>\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e3b\u8981\u5305\u542b<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8fdb\u7a0b\u4fe1\u606f<\/strong>\uff1a\u6bcf\u4e2a\u8fdb\u7a0b\u6709\u4e00\u4e2a\u4ee5PID\u547d\u540d\u7684\u76ee\u5f55<\/li>\n\n\n\n<li><strong>\u7cfb\u7edf\u4fe1\u606f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>\/proc\/cpuinfo<\/code>\uff1aCPU\u4fe1\u606f<\/li>\n\n\n\n<li><code>\/proc\/meminfo<\/code>\uff1a\u5185\u5b58\u4fe1\u606f<\/li>\n\n\n\n<li><code>\/proc\/version<\/code>\uff1a\u5185\u6838\u7248\u672c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5185\u6838\u53c2\u6570<\/strong>\uff1a\u53ef\u4ee5\u901a\u8fc7<code>\/proc\/sys<\/code>\u8c03\u6574\u5185\u6838\u53c2\u6570<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7279\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6587\u4ef6\u5927\u5c0f\u901a\u5e38\u663e\u793a\u4e3a0<\/li>\n\n\n\n<li>\u8bfb\u53d6\u65f6\u52a8\u6001\u751f\u6210\u5185\u5bb9<\/li>\n\n\n\n<li>\u7528\u4e8e\u7cfb\u7edf\u76d1\u63a7\u548c\u8c03\u8bd5<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">224. Linux\u4e0b\u6709\u54ea\u4e9b\u6587\u4ef6\u7c7b\u578b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> Linux\u4e3b\u8981\u67097\u79cd\u6587\u4ef6\u7c7b\u578b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u666e\u901a\u6587\u4ef6<\/strong>\uff1a<code>-<\/code>\uff0c\u5982\u6587\u672c\u6587\u4ef6\u3001\u4e8c\u8fdb\u5236\u6587\u4ef6<\/li>\n\n\n\n<li><strong>\u76ee\u5f55\u6587\u4ef6<\/strong>\uff1a<code>d<\/code>\uff0c\u5305\u542b\u5176\u4ed6\u6587\u4ef6\u7684\u6587\u4ef6<\/li>\n\n\n\n<li><strong>\u7b26\u53f7\u94fe\u63a5<\/strong>\uff1a<code>l<\/code>\uff0c\u6307\u5411\u53e6\u4e00\u4e2a\u6587\u4ef6\u7684\u5feb\u6377\u65b9\u5f0f<\/li>\n\n\n\n<li><strong>\u5b57\u7b26\u8bbe\u5907\u6587\u4ef6<\/strong>\uff1a<code>c<\/code>\uff0c\u6309\u5b57\u7b26\u6d41\u8bbf\u95ee\u7684\u8bbe\u5907<\/li>\n\n\n\n<li><strong>\u5757\u8bbe\u5907\u6587\u4ef6<\/strong>\uff1a<code>b<\/code>\uff0c\u6309\u6570\u636e\u5757\u8bbf\u95ee\u7684\u8bbe\u5907<\/li>\n\n\n\n<li><strong>\u7ba1\u9053\u6587\u4ef6<\/strong>\uff1a<code>p<\/code>\uff0c\u8fdb\u7a0b\u95f4\u901a\u4fe1<\/li>\n\n\n\n<li><strong>\u5957\u63a5\u5b57\u6587\u4ef6<\/strong>\uff1a<code>s<\/code>\uff0c\u7f51\u7edc\u901a\u4fe1<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770b\u65b9\u6cd5<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ls -l  # \u7b2c\u4e00\u5217\u663e\u793a\u6587\u4ef6\u7c7b\u578b<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">225. Linux\u67e5\u770b\u5185\u5b58\uff0c\u78c1\u76d8\uff0c\u7aef\u53e3\uff0c\u8fdb\u7a0b\uff0c\u7ebf\u7a0b\u7684\u547d\u4ee4\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5185\u5b58<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>free -h<\/code>\uff1a\u67e5\u770b\u5185\u5b58\u4f7f\u7528\u60c5\u51b5<\/li>\n\n\n\n<li><code>cat \/proc\/meminfo<\/code>\uff1a\u8be6\u7ec6\u5185\u5b58\u4fe1\u606f<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u78c1\u76d8<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>df -h<\/code>\uff1a\u78c1\u76d8\u7a7a\u95f4\u4f7f\u7528\u60c5\u51b5<\/li>\n\n\n\n<li><code>du -sh<\/code>\uff1a\u76ee\u5f55\u5927\u5c0f<\/li>\n\n\n\n<li><code>fdisk -l<\/code>\uff1a\u78c1\u76d8\u5206\u533a\u4fe1\u606f<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7aef\u53e3<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>netstat -tuln<\/code>\uff1a\u67e5\u770b\u76d1\u542c\u7aef\u53e3<\/li>\n\n\n\n<li><code>ss -tuln<\/code>\uff1a\u66f4\u5feb\u7684\u7aef\u53e3\u67e5\u770b<\/li>\n\n\n\n<li><code>lsof -i :\u7aef\u53e3\u53f7<\/code>\uff1a\u67e5\u770b\u7aef\u53e3\u5360\u7528<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8fdb\u7a0b<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ps aux<\/code>\uff1a\u67e5\u770b\u6240\u6709\u8fdb\u7a0b<\/li>\n\n\n\n<li><code>top<\/code>\uff1a\u5b9e\u65f6\u8fdb\u7a0b\u76d1\u63a7<\/li>\n\n\n\n<li><code>htop<\/code>\uff1a\u589e\u5f3a\u7248top<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7ebf\u7a0b<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ps -eLf<\/code>\uff1a\u67e5\u770b\u7ebf\u7a0b\u4fe1\u606f<\/li>\n\n\n\n<li><code>top -H<\/code>\uff1a\u4ee5\u7ebf\u7a0b\u6a21\u5f0f\u663e\u793a<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">226. \u662f\u5426\u5728Linux\u7cfb\u7edf\u4e0b\u7528\u8fc7gdb\u6216\u8005\u522b\u7684\u8c03\u8bd5\u5de5\u5177\uff0c\u5bf9gdb\u6765\u8bf4\uff0c\u7528\u8fc7\u54ea\u4e9b\u529f\u80fd<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u5e38\u7528gdb\u529f\u80fd<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u57fa\u672c\u547d\u4ee4<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>gdb \u7a0b\u5e8f\u540d<\/code>\uff1a\u542f\u52a8\u8c03\u8bd5<\/li>\n\n\n\n<li><code>run<\/code>\uff1a\u8fd0\u884c\u7a0b\u5e8f<\/li>\n\n\n\n<li><code>break \u884c\u53f7\/\u51fd\u6570\u540d<\/code>\uff1a\u8bbe\u7f6e\u65ad\u70b9<\/li>\n\n\n\n<li><code>continue<\/code>\uff1a\u7ee7\u7eed\u6267\u884c<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770b\u4fe1\u606f<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>print \u53d8\u91cf\u540d<\/code>\uff1a\u67e5\u770b\u53d8\u91cf\u503c<\/li>\n\n\n\n<li><code>backtrace<\/code>\uff1a\u67e5\u770b\u8c03\u7528\u6808<\/li>\n\n\n\n<li><code>info locals<\/code>\uff1a\u67e5\u770b\u5c40\u90e8\u53d8\u91cf<\/li>\n\n\n\n<li><code>info registers<\/code>\uff1a\u67e5\u770b\u5bc4\u5b58\u5668<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u63a7\u5236\u6267\u884c<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>next<\/code>\uff1a\u5355\u6b65\u6267\u884c\uff08\u4e0d\u8fdb\u5165\u51fd\u6570\uff09<\/li>\n\n\n\n<li><code>step<\/code>\uff1a\u5355\u6b65\u6267\u884c\uff08\u8fdb\u5165\u51fd\u6570\uff09<\/li>\n\n\n\n<li><code>finish<\/code>\uff1a\u6267\u884c\u5b8c\u5f53\u524d\u51fd\u6570<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5185\u5b58\u8c03\u8bd5<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>x\/\u683c\u5f0f \u5730\u5740<\/code>\uff1a\u67e5\u770b\u5185\u5b58\u5185\u5bb9<\/li>\n\n\n\n<li><code>watch \u53d8\u91cf<\/code>\uff1a\u8bbe\u7f6e\u89c2\u5bdf\u70b9<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">227. gdb\u7528\u6cd5\u5982\u679c\u5806\u6808\u4fe1\u606f\u4e0d\u51c6\uff0c\u600e\u4e48\u529e\uff08\u4e0d\u80fd\u8fd0\u884c\uff0c\u4e0d\u80fd\u4fee\u6539\u4ee3\u7801\uff09\uff0c\u53ef\u80fd\u662f\u54ea\u91cc\u51fa\u4e86\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u5806\u6808\u4fe1\u606f\u4e0d\u51c6\u7684\u5e38\u89c1\u539f\u56e0\u548c\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u53ef\u80fd\u539f\u56e0<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7f16\u8bd1\u4f18\u5316<\/strong>\uff1a\u7f16\u8bd1\u5668\u4f18\u5316\u53ef\u80fd\u5bfc\u81f4\u5806\u6808\u4fe1\u606f\u4e0d\u51c6\u786e<\/li>\n\n\n\n<li><strong>\u8c03\u8bd5\u4fe1\u606f\u7f3a\u5931<\/strong>\uff1a\u7f16\u8bd1\u65f6\u6ca1\u6709\u52a0<code>-g<\/code>\u9009\u9879<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u635f\u574f<\/strong>\uff1a\u5806\u6808\u88ab\u7834\u574f<\/li>\n\n\n\n<li><strong>\u5f02\u6b65\u4fe1\u53f7<\/strong>\uff1a\u4fe1\u53f7\u5904\u7406\u51fd\u6570\u5e72\u6270\u5806\u6808<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u51b3\u65b9\u6cd5<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u91cd\u65b0\u7f16\u8bd1<\/strong>\uff1a\u4f7f\u7528<code>-O0 -g<\/code>\u9009\u9879\u5173\u95ed\u4f18\u5316\u5e76\u5305\u542b\u8c03\u8bd5\u4fe1\u606f<\/li>\n\n\n\n<li><strong>\u68c0\u67e5\u7f16\u8bd1\u9009\u9879<\/strong>\uff1a\u786e\u4fdd\u6ca1\u6709\u4f7f\u7528<code>-fomit-frame-pointer<\/code>\u7b49\u5f71\u54cd\u5806\u6808\u7684\u9009\u9879<\/li>\n\n\n\n<li><strong>\u4f7f\u7528core\u6587\u4ef6<\/strong>\uff1a\u5982\u679c\u6709core dump\uff0c\u7528gdb\u5206\u6790core\u6587\u4ef6<\/li>\n\n\n\n<li><strong>\u9759\u6001\u5206\u6790<\/strong>\uff1a\u4f7f\u7528<code>objdump<\/code>\u3001<code>readelf<\/code>\u7b49\u5de5\u5177\u5206\u6790\u4e8c\u8fdb\u5236\u6587\u4ef6<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">228. \u5982\u679c\u67d0\u4e2a\u6a21\u5757\u8fd0\u884c\u7a81\u7136\u5954\u6e83\uff0c\u4f46\u5d29\u6e83\u7684\u51e0\u7387\u4e0d\u5927\uff0c\u5982\u4f55\u5b9a\u4f4d\u5e76\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u5b9a\u4f4d\u5076\u53d1\u6027\u5d29\u6e83\u7684\u65b9\u6cd5<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u8f6c\u50a8<\/strong>\uff1abash\u590d\u5236\u4e0b\u8f7dulimit -c unlimited # \u542f\u7528core dump .\/program # \u8fd0\u884c\u7a0b\u5e8f\uff0c\u5d29\u6e83\u65f6\u751f\u6210core\u6587\u4ef6 gdb program core # \u7528gdb\u5206\u6790core\u6587\u4ef6<\/li>\n\n\n\n<li><strong>\u65e5\u5fd7\u8bb0\u5f55<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u5173\u952e\u4f4d\u7f6e\u6dfb\u52a0\u8be6\u7ec6\u65e5\u5fd7<\/li>\n\n\n\n<li>\u4f7f\u7528syslog\u6216\u4e13\u95e8\u7684\u65e5\u5fd7\u5e93<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u65ad\u8a00\u68c0\u67e5<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7dassert(condition); \/\/ \u5728\u6000\u7591\u7684\u5730\u65b9\u52a0\u65ad\u8a00<\/li>\n\n\n\n<li><strong>\u5de5\u5177\u8f85\u52a9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>valgrind<\/code>\uff1a\u68c0\u67e5\u5185\u5b58\u95ee\u9898<\/li>\n\n\n\n<li><code>AddressSanitizer<\/code>\uff1a\u5185\u5b58\u9519\u8bef\u68c0\u6d4b\u5668<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4ee3\u7801\u5ba1\u67e5<\/strong>\uff1a\u91cd\u70b9\u68c0\u67e5\u6307\u9488\u64cd\u4f5c\u3001\u8d44\u6e90\u7ba1\u7406\u3001\u5e76\u53d1\u540c\u6b65\u7b49<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">229. \u5982\u679c\u662f\u5728\u4e00\u4e2a\u5faa\u73af\u5185\u51fa\u73b0\u95ee\u9898\uff0c\u4f7f\u7528gdb\u8c03\u8bd5\u9700\u8981\u7b49\u5f85\u5f88\u957f\u65f6\u95f4\uff0c\u5e94\u8be5\u600e\u4e48\u5904\u7406<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u5904\u7406\u957f\u65f6\u95f4\u5faa\u73af\u7684\u8c03\u8bd5\u6280\u5de7<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6761\u4ef6\u65ad\u70b9<\/strong>\uff1agdb\u590d\u5236\u4e0b\u8f7dbreak \u884c\u53f7 if \u6761\u4ef6 # \u53ea\u6709\u6ee1\u8db3\u6761\u4ef6\u65f6\u624d\u4e2d\u65ad break \u884c\u53f7 if i == 1000 # \u793a\u4f8b<\/li>\n\n\n\n<li><strong>\u89c2\u5bdf\u70b9<\/strong>\uff1agdb\u590d\u5236\u4e0b\u8f7dwatch \u53d8\u91cf\u540d # \u53d8\u91cf\u88ab\u4fee\u6539\u65f6\u4e2d\u65ad<\/li>\n\n\n\n<li><strong>\u547d\u4ee4\u81ea\u52a8\u5316<\/strong>\uff1agdb\u590d\u5236\u4e0b\u8f7dcommands \u65ad\u70b9\u7f16\u53f7 > print \u53d8\u91cf > continue > end<\/li>\n\n\n\n<li><strong>\u65e5\u5fd7\u8c03\u8bd5<\/strong>\uff1a\u5728\u5faa\u73af\u4e2d\u6dfb\u52a0\u65e5\u5fd7\u8f93\u51fa\uff0c\u800c\u4e0d\u662f\u9891\u7e41\u4e2d\u65ad<\/li>\n\n\n\n<li><strong>\u91c7\u6837\u8c03\u8bd5<\/strong>\uff1a\u6bcf\u9694N\u6b21\u5faa\u73af\u4e2d\u65ad\u4e00\u6b21gdb\u590d\u5236\u4e0b\u8f7dbreak \u884c\u53f7 condition \u65ad\u70b9\u7f16\u53f7 $i % 1000 == 0 # \u6bcf1000\u6b21\u4e2d\u65ad\u4e00\u6b21<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">230. \u5185\u5b58\u6cc4\u9732\u600e\u4e48\u68c0\u67e5\uff0c\u600e\u4e48\u907f\u514d<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u68c0\u67e5\u65b9\u6cd5<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Valgrind<\/strong>\uff08Linux\uff09\uff1abash\u590d\u5236\u4e0b\u8f7dvalgrind &#8211;leak-check=full .\/program<\/li>\n\n\n\n<li><strong>AddressSanitizer<\/strong>\uff08GCC\/Clang\uff09\uff1abash\u590d\u5236\u4e0b\u8f7dg++ -fsanitize=address -g program.cpp .\/a.out<\/li>\n\n\n\n<li><strong>\u5de5\u5177<\/strong>\uff1a<code>mtrace<\/code>, <code>dmalloc<\/code>\u7b49<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u907f\u514d\u65b9\u6cd5<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>RAII\u539f\u5219<\/strong>\uff1a\u8d44\u6e90\u83b7\u53d6\u5373\u521d\u59cb\u5316<\/li>\n\n\n\n<li><strong>\u667a\u80fd\u6307\u9488<\/strong>\uff1a<code>unique_ptr<\/code>, <code>shared_ptr<\/code><\/li>\n\n\n\n<li><strong>\u9075\u5faa\u89c4\u5219<\/strong>\uff1a\u8c01\u5206\u914d\u8c01\u91ca\u653e<\/li>\n\n\n\n<li><strong>\u4ee3\u7801\u89c4\u8303<\/strong>\uff1a\u907f\u514d\u590d\u6742\u7684\u6307\u9488\u64cd\u4f5c<\/li>\n\n\n\n<li><strong>\u4ee3\u7801\u5ba1\u67e5<\/strong>\uff1a\u91cd\u70b9\u68c0\u67e5\u8d44\u6e90\u7ba1\u7406\u4ee3\u7801<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">231. \u4ec0\u4e48\u662fcoredump\u6587\u4ef6\uff1f\u600e\u4e48\u8c03\u8bd5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>coredump<\/strong>\uff1a\u7a0b\u5e8f\u5d29\u6e83\u65f6\u751f\u6210\u7684\u5185\u5b58\u8f6c\u50a8\u6587\u4ef6\uff0c\u5305\u542b\u5d29\u6e83\u65f6\u7684\u5185\u5b58\u72b6\u6001\u3002<\/li>\n\n\n\n<li><strong>\u751f\u6210coredump<\/strong>\uff1abash\u590d\u5236\u4e0b\u8f7dulimit -c unlimited # \u8bbe\u7f6ecore\u6587\u4ef6\u5927\u5c0f\u65e0\u9650\u5236 .\/program # \u8fd0\u884c\u7a0b\u5e8f\uff0c\u5d29\u6e83\u65f6\u751f\u6210core\u6587\u4ef6<\/li>\n\n\n\n<li><strong>\u8c03\u8bd5coredump<\/strong>\uff1abash\u590d\u5236\u4e0b\u8f7dgdb program core # \u4f7f\u7528gdb\u8c03\u8bd5core\u6587\u4ef6 (gdb) bt # \u67e5\u770b\u5d29\u6e83\u65f6\u7684\u8c03\u7528\u6808 (gdb) print \u53d8\u91cf\u540d # \u67e5\u770b\u53d8\u91cf\u503c (gdb) info registers # \u67e5\u770b\u5bc4\u5b58\u5668\u72b6\u6001# \u8bed\u6cd5\uff1agdb \u7a0b\u5e8f\u540d core\u6587\u4ef6\u540d gdb myprogram core.1234<\/li>\n\n\n\n<li><strong>\u5206\u6790\u6b65\u9aa4<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u67e5\u770b\u8c03\u7528\u6808\u786e\u5b9a\u5d29\u6e83\u4f4d\u7f6e<\/li>\n\n\n\n<li>\u68c0\u67e5\u76f8\u5173\u53d8\u91cf\u548c\u5185\u5b58\u72b6\u6001<\/li>\n\n\n\n<li>\u5206\u6790\u5d29\u6e83\u539f\u56e0\uff08\u7a7a\u6307\u9488\u3001\u8d8a\u754c\u7b49\uff09<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">232. \u4ec0\u4e48\u65f6\u5019\u4f7f\u7528\u9759\u6001\u5e93\u548c\u52a8\u6001\u5e93<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u9762<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u9759\u6001\u5e93<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u52a8\u6001\u5e93<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u94fe\u63a5\u65f6\u673a<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f16\u8bd1\u65f6\u94fe\u63a5\u5230\u53ef\u6267\u884c\u6587\u4ef6<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8fd0\u884c\u65f6\u52a8\u6001\u52a0\u8f7d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6587\u4ef6\u5927\u5c0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u6267\u884c\u6587\u4ef6\u8f83\u5927<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u6267\u884c\u6587\u4ef6\u8f83\u5c0f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u4f7f\u7528<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6bcf\u4e2a\u8fdb\u7a0b\u72ec\u7acb\u4e00\u4efd\u5e93\u4ee3\u7801<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u591a\u4e2a\u8fdb\u7a0b\u5171\u4eab\u5e93\u4ee3\u7801<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u66f4\u65b0\u7ef4\u62a4<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u91cd\u65b0\u7f16\u8bd1\u7a0b\u5e8f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ea\u9700\u66f4\u65b0\u5e93\u6587\u4ef6<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u52a0\u8f7d\u901f\u5ea6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u5feb\uff08\u5df2\u94fe\u63a5\u5230\u7a0b\u5e8f\u4e2d\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7a0d\u6162\uff08\u9700\u8981\u52a0\u8f7d\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u9009\u62e9\u5efa\u8bae<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9759\u6001\u5e93<\/strong>\uff1a\u7a0b\u5e8f\u72ec\u7acb\u6027\u8981\u6c42\u9ad8\uff0c\u4e0d\u5e0c\u671b\u4f9d\u8d56\u5916\u90e8\u5e93<\/li>\n\n\n\n<li><strong>\u52a8\u6001\u5e93<\/strong>\uff1a\u591a\u4e2a\u7a0b\u5e8f\u5171\u7528\u5e93\uff0c\u9700\u8981\u7075\u6d3b\u66f4\u65b0\u5e93\u7248\u672c<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">233. \u96f6\u62f7\u8d1d\u6280\u672f\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u96f6\u62f7\u8d1d\u6280\u672f\u907f\u514d\u6570\u636e\u5728\u5185\u5b58\u4e2d\u7684\u4e0d\u5fc5\u8981\u7684\u62f7\u8d1d\uff0c\u63d0\u9ad8I\/O\u6027\u80fd\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e3b\u8981\u6280\u672f<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>sendfile\u7cfb\u7edf\u8c03\u7528<\/strong>\uff1a\u6587\u4ef6\u6570\u636e\u76f4\u63a5\u4ece\u5185\u6838\u7f13\u51b2\u533a\u53d1\u9001\u5230\u7f51\u7edc\uff0c\u4e0d\u7ecf\u8fc7\u7528\u6237\u7a7a\u95f4<\/li>\n\n\n\n<li><strong>splice\u7cfb\u7edf\u8c03\u7528<\/strong>\uff1a\u5728\u4e24\u4e2a\u6587\u4ef6\u63cf\u8ff0\u7b26\u4e4b\u95f4\u79fb\u52a8\u6570\u636e<\/li>\n\n\n\n<li><strong>mmap + write<\/strong>\uff1a\u5185\u5b58\u6620\u5c04\u6587\u4ef6\uff0c\u76f4\u63a5\u64cd\u4f5c\u5185\u5b58<\/li>\n\n\n\n<li><strong>DMA\u6280\u672f<\/strong>\uff1a\u76f4\u63a5\u5185\u5b58\u8bbf\u95ee\uff0cCPU\u4e0d\u53c2\u4e0e\u6570\u636e\u4f20\u8f93<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e94\u7528\u573a\u666f<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6587\u4ef6\u4e0b\u8f7d\u670d\u52a1\u5668<\/li>\n\n\n\n<li>\u89c6\u9891\u6d41\u5a92\u4f53\u670d\u52a1<\/li>\n\n\n\n<li>\u6570\u636e\u5e93\u7cfb\u7edf<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">234. mmap\u7684\u5e94\u7528\u573a\u666f\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>mmap<\/code>\u5c06\u6587\u4ef6\u6216\u8bbe\u5907\u6620\u5c04\u5230\u5185\u5b58\uff0c\u5e94\u7528\u573a\u666f\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6587\u4ef6I\/O\u4f18\u5316<\/strong>\uff1a\u5927\u6587\u4ef6\u8bfb\u5199\uff0c\u907f\u514d\u9891\u7e41read\/write\u7cfb\u7edf\u8c03\u7528<\/li>\n\n\n\n<li><strong>\u8fdb\u7a0b\u95f4\u901a\u4fe1<\/strong>\uff1a\u901a\u8fc7\u6620\u5c04\u540c\u4e00\u6587\u4ef6\u5b9e\u73b0\u5171\u4eab\u5185\u5b58<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5206\u914d<\/strong>\uff1a\u67d0\u4e9bmalloc\u5b9e\u73b0\u4f7f\u7528mmap\u5206\u914d\u5927\u5185\u5b58\u5757<\/li>\n\n\n\n<li><strong>\u7a0b\u5e8f\u52a0\u8f7d<\/strong>\uff1a\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u52a0\u8f7d\u4f7f\u7528mmap<\/li>\n\n\n\n<li><strong>\u96f6\u62f7\u8d1d<\/strong>\uff1a\u4e0e\u7f51\u7edc\u4f20\u8f93\u7ed3\u5408\u5b9e\u73b0\u96f6\u62f7\u8d1d<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f18\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u51cf\u5c11\u6570\u636e\u62f7\u8d1d\u6b21\u6570<\/li>\n\n\n\n<li>\u7b80\u5316\u6587\u4ef6\u8bbf\u95ee\u63a5\u53e3<\/li>\n\n\n\n<li>\u652f\u6301\u5171\u4eab\u5185\u5b58\u901a\u4fe1<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">235. linux\u6587\u4ef6\u7cfb\u7edf\u8bfb\u5165\u6587\u4ef6\u7684\u8fc7\u7a0b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> Linux\u8bfb\u53d6\u6587\u4ef6\u7684\u4e3b\u8981\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8def\u5f84\u89e3\u6790<\/strong>\uff1a\u5c06\u6587\u4ef6\u8def\u5f84\u8f6c\u6362\u4e3ainode\u53f7<\/li>\n\n\n\n<li><strong>\u6743\u9650\u68c0\u67e5<\/strong>\uff1a\u68c0\u67e5\u7528\u6237\u662f\u5426\u6709\u8bfb\u53d6\u6743\u9650<\/li>\n\n\n\n<li><strong>\u67e5\u627einode<\/strong>\uff1a\u6839\u636einode\u53f7\u627e\u5230\u6587\u4ef6\u7684\u5143\u6570\u636e<\/li>\n\n\n\n<li><strong>\u68c0\u67e5\u7f13\u5b58<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9875\u7f13\u5b58\uff1a\u68c0\u67e5\u6587\u4ef6\u6570\u636e\u662f\u5426\u5728\u5185\u5b58\u4e2d<\/li>\n\n\n\n<li>dentry\u7f13\u5b58\uff1a\u68c0\u67e5\u76ee\u5f55\u9879\u662f\u5426\u5728\u7f13\u5b58\u4e2d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u78c1\u76d8\u8bfb\u53d6<\/strong>\uff1a\u5982\u679c\u4e0d\u5728\u7f13\u5b58\u4e2d\uff0c\u4ece\u78c1\u76d8\u8bfb\u53d6\u6570\u636e\u5230\u9875\u7f13\u5b58<\/li>\n\n\n\n<li><strong>\u6570\u636e\u8fd4\u56de<\/strong>\uff1a\u5c06\u6570\u636e\u4ece\u5185\u6838\u7a7a\u95f4\u62f7\u8d1d\u5230\u7528\u6237\u7a7a\u95f4<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f18\u5316<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9884\u8bfb\u673a\u5236\uff1a\u9884\u6d4b\u5e76\u63d0\u524d\u8bfb\u53d6\u540e\u7eed\u6570\u636e<\/li>\n\n\n\n<li>\u7f13\u5b58\u673a\u5236\uff1a\u9891\u7e41\u8bbf\u95ee\u7684\u6570\u636e\u4fdd\u7559\u5728\u5185\u5b58\u4e2d<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ 1. \u901a\u8fc7PCB\u627e\u5230\u6253\u5f00\u6587\u4ef6\u8868\nstruct task_struct *current = get_current();\nstruct files_struct *files = current-&gt;files;\n\n\/\/ 2. \u901a\u8fc7fd\u627e\u5230file\u7ed3\u6784\nstruct file *file = files-&gt;fdt-&gt;fd[fd];\n\n\/\/ 3. \u901a\u8fc7file\u627e\u5230dentry\u548cinode\nstruct dentry *dentry = file-&gt;f_path.dentry;\nstruct inode *inode = dentry-&gt;d_inode;\n\n\/\/ 4. \u901a\u8fc7inode\u627e\u5230address_space\uff08\u9875\u7f13\u5b58\u7ba1\u7406\uff09\nstruct address_space *mapping = inode-&gt;i_mapping;<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">236. \u4e3a\u4ec0\u4e48\u6587\u4ef6\u63cf\u8ff0\u7b26\u662f\u4e00\u4e2a\u6574\u6570<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u6587\u4ef6\u63cf\u8ff0\u7b26\u662f\u6574\u6570\u7684\u539f\u56e0\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7b80\u5355\u9ad8\u6548<\/strong>\uff1a\u6574\u6570\u6bd4\u8f83\u548c\u64cd\u4f5c\u975e\u5e38\u5feb\u901f<\/li>\n\n\n\n<li><strong>\u7d22\u5f15\u4f5c\u7528<\/strong>\uff1a\u6587\u4ef6\u63cf\u8ff0\u7b26\u662f\u8fdb\u7a0b\u6587\u4ef6\u63cf\u8ff0\u7b26\u8868\u7684\u7d22\u5f15<\/li>\n\n\n\n<li><strong>\u7cfb\u7edf\u8c03\u7528\u53c2\u6570<\/strong>\uff1a\u6574\u6570\u4f5c\u4e3a\u7cfb\u7edf\u8c03\u7528\u53c2\u6570\u4f20\u9012\u7b80\u5355<\/li>\n\n\n\n<li><strong>\u8d44\u6e90\u6807\u8bc6<\/strong>\uff1a\u552f\u4e00\u6807\u8bc6\u6253\u5f00\u7684\u6587\u4ef6\u6216I\/O\u8d44\u6e90<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6587\u4ef6\u63cf\u8ff0\u7b26\u8868<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u8fdb\u7a0b\u6709\u81ea\u5df1\u7684\u6587\u4ef6\u63cf\u8ff0\u7b26\u8868<\/li>\n\n\n\n<li>\u6587\u4ef6\u63cf\u8ff0\u7b26\u662f\u8868\u4e2d\u7684\u7d22\u5f15<\/li>\n\n\n\n<li>\u8868\u9879\u6307\u5411\u5185\u6838\u4e2d\u7684\u6587\u4ef6\u5bf9\u8c61<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">237. \u5728Linux\u4e2d\u4ec0\u4e48\u662fCFS<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> CFS\uff08Completely Fair Scheduler\uff09\u662fLinux\u5185\u6838\u7684<strong>\u5b8c\u5168\u516c\u5e73\u8c03\u5ea6\u5668<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bbe\u8ba1\u76ee\u6807<\/strong>\uff1a\u516c\u5e73\u5206\u914dCPU\u65f6\u95f4\u7ed9\u6240\u6709\u8fd0\u884c\u4e2d\u7684\u8fdb\u7a0b<\/li>\n\n\n\n<li><strong>\u6838\u5fc3\u601d\u60f3<\/strong>\uff1a\u57fa\u4e8e\u865a\u62df\u8fd0\u884c\u65f6\u95f4\uff08vruntime\uff09\u8fdb\u884c\u8c03\u5ea6<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u539f\u7406<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u8fdb\u7a0b\u7ef4\u62a4\u4e00\u4e2avruntime\u503c<\/li>\n\n\n\n<li>\u8c03\u5ea6\u5668\u9009\u62e9vruntime\u6700\u5c0f\u7684\u8fdb\u7a0b\u8fd0\u884c<\/li>\n\n\n\n<li>\u8fd0\u884c\u7684\u8fdb\u7a0b\u7684vruntime\u9010\u6e10\u589e\u52a0<\/li>\n\n\n\n<li>\u4fdd\u8bc1\u6240\u6709\u8fdb\u7a0b\u7684vruntime\u5927\u81f4\u76f8\u7b49<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u516c\u5e73\u6027\uff1a\u6240\u6709\u8fdb\u7a0b\u83b7\u5f97\u516c\u5e73\u7684CPU\u65f6\u95f4<\/li>\n\n\n\n<li>\u4ea4\u4e92\u6027\uff1a\u4ea4\u4e92\u5f0f\u8fdb\u7a0b\u54cd\u5e94\u5feb<\/li>\n\n\n\n<li>\u53ef\u914d\u7f6e\uff1a\u901a\u8fc7nice\u503c\u8c03\u6574\u8fdb\u7a0b\u4f18\u5148\u7ea7<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">238. \u8d1f\u6570\u7684\u4e8c\u8fdb\u5236\u5982\u4f55\u8868\u793a<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8d1f\u6570\u5728\u8ba1\u7b97\u673a\u4e2d\u901a\u5e38\u7528<strong>\u8865\u7801<\/strong>\u8868\u793a\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u539f\u7801<\/strong>\uff1a\u6700\u9ad8\u4f4d\u4e3a\u7b26\u53f7\u4f4d\uff0c\u5176\u4f59\u4e3a\u6570\u503c\u4f4d\n<ul class=\"wp-block-list\">\n<li>+5\uff1a00000101<\/li>\n\n\n\n<li>-5\uff1a10000101<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u53cd\u7801<\/strong>\uff1a\u6b63\u6570\u4e0d\u53d8\uff0c\u8d1f\u6570\u7b26\u53f7\u4f4d\u4e0d\u53d8\uff0c\u5176\u4f59\u53d6\u53cd\n<ul class=\"wp-block-list\">\n<li>+5\uff1a00000101<\/li>\n\n\n\n<li>-5\uff1a11111010<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8865\u7801<\/strong>\uff08\u5b9e\u9645\u4f7f\u7528\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u6570\uff1a\u4e0e\u539f\u7801\u76f8\u540c<\/li>\n\n\n\n<li>\u8d1f\u6570\uff1a\u53cd\u7801+1<\/li>\n\n\n\n<li>-5\uff1a11111011<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8865\u7801\u7684\u4f18\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7edf\u4e00\u4e860\u7684\u8868\u793a\uff08\u6ca1\u6709+0\u548c-0\u4e4b\u5206\uff09<\/li>\n\n\n\n<li>\u52a0\u51cf\u6cd5\u7edf\u4e00\u5904\u7406<\/li>\n\n\n\n<li>\u8303\u56f4\u5bf9\u79f0\uff1a-128\u5230127\uff088\u4f4d\u6709\u7b26\u53f7\u6574\u6570\uff09<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u8fdb\u7a0b\u548c\u7ebf\u7a0b<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">239. \u8fdb\u7a0b\u548c\u7ebf\u7a0b\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u9762<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fdb\u7a0b<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u7ebf\u7a0b<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8d44\u6e90\u5206\u914d<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7cfb\u7edf\u8d44\u6e90\u5206\u914d\u7684\u57fa\u672c\u5355\u4f4d<\/td><td class=\"has-text-align-left\" data-align=\"left\">CPU\u8c03\u5ea6\u7684\u57fa\u672c\u5355\u4f4d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u5b58\u7a7a\u95f4<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\u72ec\u7acb\u7684\u5730\u5740\u7a7a\u95f4<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5171\u4eab\u8fdb\u7a0b\u7684\u5730\u5740\u7a7a\u95f4<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u901a\u4fe1\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7ba1\u9053\u3001\u6d88\u606f\u961f\u5217\u3001\u5171\u4eab\u5185\u5b58\u7b49<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f4\u63a5\u8bfb\u5199\u8fdb\u7a0b\u6570\u636e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u521b\u5efa\u5f00\u9500<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5927\uff08\u9700\u8981\u5206\u914d\u8d44\u6e90\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5c0f\uff08\u5171\u4eab\u8fdb\u7a0b\u8d44\u6e90\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7a33\u5b9a\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e00\u4e2a\u8fdb\u7a0b\u5d29\u6e83\u4e0d\u5f71\u54cd\u5176\u4ed6\u8fdb\u7a0b<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e00\u4e2a\u7ebf\u7a0b\u5d29\u6e83\u53ef\u80fd\u5bfc\u81f4\u6574\u4e2a\u8fdb\u7a0b\u5d29\u6e83<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u5171\u4eab<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u663e\u5f0fIPC\u673a\u5236<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5929\u7136\u5171\u4eab\u8fdb\u7a0b\u6570\u636e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">240. \u591a\u8fdb\u7a0b\u548c\u591a\u7ebf\u7a0b\u7684\u533a\u522b\uff0c\u6362\u53e5\u8bdd\u8bf4\u4ec0\u4e48\u65f6\u5019\u8be5\u7528\u591a\u7ebf\u7a0b\uff0c\u4ec0\u4e48\u65f6\u5019\u8be5\u7528\u591a\u8fdb\u7a0b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f7f\u7528\u591a\u7ebf\u7a0b\u7684\u573a\u666f<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9700\u8981\u9891\u7e41\u901a\u4fe1<\/strong>\uff1a\u7ebf\u7a0b\u95f4\u5171\u4eab\u5185\u5b58\uff0c\u901a\u4fe1\u6548\u7387\u9ad8<\/li>\n\n\n\n<li><strong>\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1<\/strong>\uff1a\u5145\u5206\u5229\u7528\u591a\u6838CPU<\/li>\n\n\n\n<li><strong>I\/O\u5bc6\u96c6\u578b\u4efb\u52a1<\/strong>\uff1a\u7ebf\u7a0b\u963b\u585e\u65f6\u5176\u4ed6\u7ebf\u7a0b\u53ef\u7ee7\u7eed\u6267\u884c<\/li>\n\n\n\n<li><strong>\u9700\u8981\u5feb\u901f\u54cd\u5e94<\/strong>\uff1a\u5982GUI\u5e94\u7528\u7684\u540e\u53f0\u4efb\u52a1<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f7f\u7528\u591a\u8fdb\u7a0b\u7684\u573a\u666f<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9700\u8981\u9ad8\u7a33\u5b9a\u6027<\/strong>\uff1a\u8fdb\u7a0b\u95f4\u76f8\u4e92\u9694\u79bb\uff0c\u4e00\u4e2a\u5d29\u6e83\u4e0d\u5f71\u54cd\u5176\u4ed6<\/li>\n\n\n\n<li><strong>\u9700\u8981\u5b89\u5168\u6027<\/strong>\uff1a\u8fdb\u7a0b\u6709\u72ec\u7acb\u7684\u5730\u5740\u7a7a\u95f4\uff0c\u66f4\u5b89\u5168<\/li>\n\n\n\n<li><strong>\u5229\u7528\u591a\u673a\u8d44\u6e90<\/strong>\uff1a\u8fdb\u7a0b\u53ef\u4ee5\u5206\u5e03\u5728\u4e0d\u540c\u7684\u673a\u5668\u4e0a<\/li>\n\n\n\n<li><strong>\u5229\u7528\u73b0\u6709\u7a0b\u5e8f<\/strong>\uff1a\u901a\u8fc7\u8fdb\u7a0b\u8c03\u7528\u5916\u90e8\u7a0b\u5e8f<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">241. \u4e2d\u65ad\u548c\u5f02\u5e38\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u9762<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u4e2d\u65ad<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f02\u5e38<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6765\u6e90<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5916\u90e8\u8bbe\u5907\u4ea7\u751f<\/td><td class=\"has-text-align-left\" data-align=\"left\">CPU\u6267\u884c\u6307\u4ee4\u4ea7\u751f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u65f6\u673a<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5f02\u6b65\uff0c\u4e0eCPU\u6267\u884c\u65e0\u5173<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u540c\u6b65\uff0c\u7531\u7279\u5b9a\u6307\u4ee4\u5f15\u8d77<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7c7b\u578b<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u786c\u4ef6\u4e2d\u65ad\u3001\u8f6f\u4ef6\u4e2d\u65ad<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6545\u969c\u3001\u9677\u9631\u3001\u4e2d\u6b62<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5904\u7406<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u5e38\u53ef\u5c4f\u853d<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u53ef\u5c4f\u853d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f8b\u5b50<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u952e\u76d8\u8f93\u5165\u3001\u7f51\u7edc\u6570\u636e\u5230\u8fbe<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9664\u96f6\u3001\u9875\u9519\u8bef\u3001\u7cfb\u7edf\u8c03\u7528<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">242. \u8fdb\u7a0b\u95f4\u901a\u4fe1\u65b9\u5f0f\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> Linux\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff08IPC\uff09\u4e3b\u8981\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7ba1\u9053<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u533f\u540d\u7ba1\u9053\uff1a<code>pipe()<\/code>\uff0c\u7528\u4e8e\u6709\u4eb2\u7f18\u5173\u7cfb\u7684\u8fdb\u7a0b<\/li>\n\n\n\n<li>\u547d\u540d\u7ba1\u9053\uff1a<code>mkfifo()<\/code>\uff0c\u7528\u4e8e\u65e0\u4eb2\u7f18\u5173\u7cfb\u7684\u8fdb\u7a0b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d88\u606f\u961f\u5217<\/strong>\uff1a<code>msgget()<\/code>\u7b49\uff0c\u8fdb\u7a0b\u901a\u8fc7\u6d88\u606f\u901a\u4fe1<\/li>\n\n\n\n<li><strong>\u5171\u4eab\u5185\u5b58<\/strong>\uff1a<code>shmget()<\/code>\u7b49\uff0c\u591a\u4e2a\u8fdb\u7a0b\u5171\u4eab\u540c\u4e00\u5185\u5b58\u533a\u57df<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u91cf<\/strong>\uff1a<code>semget()<\/code>\u7b49\uff0c\u7528\u4e8e\u8fdb\u7a0b\u540c\u6b65<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7<\/strong>\uff1a<code>kill()<\/code>\u7b49\uff0c\u7b80\u5355\u7684\u5f02\u6b65\u901a\u77e5\u673a\u5236<\/li>\n\n\n\n<li><strong>\u5957\u63a5\u5b57<\/strong>\uff1a\u7f51\u7edc\u5957\u63a5\u5b57\u4e5f\u53ef\u7528\u4e8e\u672c\u673a\u8fdb\u7a0b\u901a\u4fe1<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">243. \u7ebf\u7a0b\u95f4\u901a\u4fe1\u7684 \u65b9\u5f0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u7ebf\u7a0b\u95f4\u901a\u4fe1\u7531\u4e8e\u5171\u4eab\u5730\u5740\u7a7a\u95f4\uff0c\u65b9\u5f0f\u66f4\u7b80\u5355\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5168\u5c40\u53d8\u91cf<\/strong>\uff1a\u6700\u7b80\u5355\u76f4\u63a5\u7684\u901a\u4fe1\u65b9\u5f0f<\/li>\n\n\n\n<li><strong>\u4e92\u65a5\u9501<\/strong>\uff1a\u4fdd\u62a4\u5171\u4eab\u6570\u636e\u7684\u8bbf\u95ee<\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u53d8\u91cf<\/strong>\uff1a\u7ebf\u7a0b\u95f4\u7684\u4e8b\u4ef6\u901a\u77e5<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u91cf<\/strong>\uff1a\u63a7\u5236\u5bf9\u5171\u4eab\u8d44\u6e90\u7684\u8bbf\u95ee<\/li>\n\n\n\n<li><strong>\u6d88\u606f\u961f\u5217<\/strong>\uff1a\u7ebf\u7a0b\u5b89\u5168\u7684\u6d88\u606f\u4f20\u9012<\/li>\n\n\n\n<li><strong>\u539f\u5b50\u64cd\u4f5c<\/strong>\uff1a\u65e0\u9501\u7684\u7b80\u5355\u6570\u636e\u4ea4\u6362<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7279\u70b9<\/strong>\uff1a\u7ebf\u7a0b\u901a\u4fe1\u4e0d\u9700\u8981\u8de8\u8d8a\u5730\u5740\u7a7a\u95f4\uff0c\u6548\u7387\u8fdc\u9ad8\u4e8e\u8fdb\u7a0b\u901a\u4fe1\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">244. Linux\u7a0b\u5e8f\u8fd0\u884c\u627e\u4e0d\u5230\u52a8\u6001\u5e93.so\u6587\u4ef6\u7684\u4e09\u79cd\u89e3\u51b3\u529e\u6cd5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8bbe\u7f6eLD_LIBRARY_PATH<\/strong>\uff1abash\u590d\u5236\u4e0b\u8f7dexport LD_LIBRARY_PATH=\/path\/to\/library:$LD_LIBRARY_PATH .\/program<\/li>\n\n\n\n<li><strong>\u4f7f\u7528rpath<\/strong>\uff08\u7f16\u8bd1\u65f6\u6307\u5b9a\uff09\uff1abash\u590d\u5236\u4e0b\u8f7dgcc -Wl,-rpath,\/path\/to\/library -o program program.c<\/li>\n\n\n\n<li><strong>\u66f4\u65b0ld.so.cache<\/strong>\uff1abash\u590d\u5236\u4e0b\u8f7d# \u5c06\u5e93\u8def\u5f84\u6dfb\u52a0\u5230\/etc\/ld.so.conf\u6216\/etc\/ld.so.conf.d\/ sudo ldconfig # \u66f4\u65b0\u7f13\u5b58<\/li>\n\n\n\n<li><strong>\u5c06\u5e93\u6587\u4ef6\u653e\u5230\u6807\u51c6\u8def\u5f84<\/strong>\uff1a\u5982<code>\/usr\/lib<\/code>, <code>\/lib<\/code>\u7b49<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">245. Linux\u8fdb\u7a0b\u540c\u6b65\u7684\u673a\u5236<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> Linux\u8fdb\u7a0b\u540c\u6b65\u4e3b\u8981\u673a\u5236\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4fe1\u53f7\u91cf<\/strong>\uff1a<code>sem_init()<\/code>, <code>sem_wait()<\/code>, <code>sem_post()<\/code><\/li>\n\n\n\n<li><strong>\u4e92\u65a5\u9501<\/strong>\uff1a<code>pthread_mutex_init()<\/code>\u7b49\uff08\u4e5f\u53ef\u7528\u4e8e\u8fdb\u7a0b\u95f4\uff09<\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u53d8\u91cf<\/strong>\uff1a<code>pthread_cond_init()<\/code>\u7b49<\/li>\n\n\n\n<li><strong>\u6587\u4ef6\u9501<\/strong>\uff1a<code>flock()<\/code>, <code>fcntl()<\/code><\/li>\n\n\n\n<li><strong>\u4fe1\u53f7<\/strong>\uff1a\u7b80\u5355\u7684\u540c\u6b65\u673a\u5236<\/li>\n\n\n\n<li><strong>\u5c4f\u969c<\/strong>\uff1a<code>pthread_barrier_init()<\/code>\u7b49<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u9009\u62e9\u4f9d\u636e<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7b80\u5355\u540c\u6b65\uff1a\u4fe1\u53f7\u3001\u6587\u4ef6\u9501<\/li>\n\n\n\n<li>\u590d\u6742\u540c\u6b65\uff1a\u4fe1\u53f7\u91cf\u3001\u4e92\u65a5\u9501+\u6761\u4ef6\u53d8\u91cf<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">246. \u4ec0\u4e48\u662f\u540c\u6b65\uff0c\u5f02\u6b65\u3002\u4ec0\u4e48\u662f\u963b\u585e\uff0c\u4ec0\u4e48\u662f\u975e\u963b\u585e<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u540c\u6b65 vs \u5f02\u6b65<\/strong>\uff08\u5173\u6ce8<strong>\u7ed3\u679c\u901a\u77e5<\/strong>\u65b9\u5f0f\uff09\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u540c\u6b65<\/strong>\uff1a\u8c03\u7528\u8005\u4e3b\u52a8\u7b49\u5f85\u7ed3\u679c\u8fd4\u56de<\/li>\n\n\n\n<li><strong>\u5f02\u6b65<\/strong>\uff1a\u8c03\u7528\u540e\u7acb\u5373\u8fd4\u56de\uff0c\u7ed3\u679c\u901a\u8fc7\u56de\u8c03\u7b49\u65b9\u5f0f\u901a\u77e5<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u963b\u585e vs \u975e\u963b\u585e<\/strong>\uff08\u5173\u6ce8<strong>\u7b49\u5f85\u72b6\u6001<\/strong>\uff09\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u963b\u585e<\/strong>\uff1a\u8c03\u7528\u540e\u5f53\u524d\u7ebf\u7a0b\u88ab\u6302\u8d77\uff0c\u76f4\u5230\u7ed3\u679c\u8fd4\u56de<\/li>\n\n\n\n<li><strong>\u975e\u963b\u585e<\/strong>\uff1a\u8c03\u7528\u540e\u7acb\u5373\u8fd4\u56de\uff0c\u4e0d\u6302\u8d77\u5f53\u524d\u7ebf\u7a0b<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7ec4\u5408<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u540c\u6b65\u963b\u585e\uff1a\u666e\u901a\u7684\u51fd\u6570\u8c03\u7528<\/li>\n\n\n\n<li>\u540c\u6b65\u975e\u963b\u585e\uff1a\u8f6e\u8be2\u68c0\u67e5\u7ed3\u679c<\/li>\n\n\n\n<li>\u5f02\u6b65\u975e\u963b\u585e\uff1aI\/O\u591a\u8def\u590d\u7528\u3001\u56de\u8c03\u673a\u5236<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">247. \u8fdb\u7a0b\u7684\u72b6\u6001<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> Linux\u8fdb\u7a0b\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u79cd\u72b6\u6001\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8fd0\u884c<\/strong>\uff1a\u6b63\u5728CPU\u4e0a\u6267\u884c\u6216\u5c31\u7eea\u7b49\u5f85\u6267\u884c<\/li>\n\n\n\n<li><strong>\u53ef\u4e2d\u65ad\u7761\u7720<\/strong>\uff1a\u7b49\u5f85\u67d0\u4e2a\u6761\u4ef6\uff0c\u53ef\u4ee5\u88ab\u4fe1\u53f7\u5524\u9192<\/li>\n\n\n\n<li><strong>\u4e0d\u53ef\u4e2d\u65ad\u7761\u7720<\/strong>\uff1a\u7b49\u5f85\u786c\u4ef6\u6761\u4ef6\uff0c\u4e0d\u80fd\u88ab\u4fe1\u53f7\u5524\u9192<\/li>\n\n\n\n<li><strong>\u505c\u6b62<\/strong>\uff1a\u6536\u5230SIGSTOP\u7b49\u4fe1\u53f7\u6682\u505c\u6267\u884c<\/li>\n\n\n\n<li><strong>\u50f5\u5c38<\/strong>\uff1a\u8fdb\u7a0b\u5df2\u7ec8\u6b62\uff0c\u4f46\u7236\u8fdb\u7a0b\u5c1a\u672a\u56de\u6536<\/li>\n\n\n\n<li><strong>\u6b7b\u4ea1<\/strong>\uff1a\u8fdb\u7a0b\u5df2\u7ec8\u6b62\u5e76\u88ab\u56de\u6536<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u67e5\u770b\u547d\u4ee4<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ps aux    # STAT\u5217\u663e\u793a\u8fdb\u7a0b\u72b6\u6001<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">248. \u4ec0\u4e48\u662f\u5b64\u513f\u8fdb\u7a0b\uff0c\u4ec0\u4e48\u662f\u50f5\u5c38\u8fdb\u7a0b\uff0c\u600e\u4e48\u907f\u514d\u50f5\u5c38\u8fdb\u7a0b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b64\u513f\u8fdb\u7a0b<\/strong>\uff1a\u7236\u8fdb\u7a0b\u5148\u4e8e\u5b50\u8fdb\u7a0b\u9000\u51fa\uff0c\u5b50\u8fdb\u7a0b\u88abinit\u8fdb\u7a0b\uff08PID=1\uff09\u6536\u517b\n<ul class=\"wp-block-list\">\n<li>\u65e0\u5bb3\uff0cinit\u8fdb\u7a0b\u4f1a\u8d1f\u8d23\u56de\u6536<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u50f5\u5c38\u8fdb\u7a0b<\/strong>\uff1a\u5b50\u8fdb\u7a0b\u5df2\u9000\u51fa\uff0c\u4f46\u7236\u8fdb\u7a0b\u5c1a\u672a\u8c03\u7528wait()\u56de\u6536\n<ul class=\"wp-block-list\">\n<li>\u5360\u7528\u7cfb\u7edf\u8d44\u6e90\uff08\u8fdb\u7a0b\u8868\u9879\uff09<\/li>\n\n\n\n<li>\u65e0\u6cd5\u88abkill\u6740\u6b7b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u907f\u514d\u50f5\u5c38\u8fdb\u7a0b\u7684\u65b9\u6cd5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7236\u8fdb\u7a0b\u8c03\u7528wait()\/waitpid()<\/strong>\uff1a\u4e3b\u52a8\u56de\u6536\u5b50\u8fdb\u7a0b<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u5904\u7406<\/strong>\uff1a\u6355\u83b7SIGCHLD\u4fe1\u53f7\uff0c\u5728\u4fe1\u53f7\u5904\u7406\u51fd\u6570\u4e2d\u8c03\u7528wait()<\/li>\n\n\n\n<li><strong>\u53ccfork\u6280\u5de7<\/strong>\uff1a\u8ba9\u5b50\u8fdb\u7a0b\u518dfork\u5b59\u5b50\u8fdb\u7a0b\uff0c\u7136\u540e\u7acb\u5373\u9000\u51fa<\/li>\n\n\n\n<li><strong>\u5ffd\u7565SIGCHLD<\/strong>\uff1a<code>signal(SIGCHLD, SIG_IGN)<\/code>\uff0c\u8ba9\u5185\u6838\u81ea\u52a8\u56de\u6536<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">249. \u7ed3\u675f\u8fdb\u7a0b\u7684\u65b9\u5f0f\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u6b63\u5e38\u7ed3\u675f<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>main\u51fd\u6570return<\/strong><\/li>\n\n\n\n<li><strong>\u8c03\u7528exit()<\/strong>\uff1a\u6e05\u7406\u540e\u7ec8\u6b62\u8fdb\u7a0b<\/li>\n\n\n\n<li><strong>\u8c03\u7528_exit()<\/strong>\uff1a\u76f4\u63a5\u7ec8\u6b62\uff0c\u4e0d\u6e05\u7406<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5f02\u5e38\u7ed3\u675f<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4fe1\u53f7<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>kill -9 PID<\/code>\uff1a\u5f3a\u5236\u7ec8\u6b62<\/li>\n\n\n\n<li><code>kill -15 PID<\/code>\uff1a\u4f18\u96c5\u7ec8\u6b62\uff08\u9ed8\u8ba4\uff09<\/li>\n\n\n\n<li><code>Ctrl+C<\/code>\uff1a\u53d1\u9001SIGINT<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u65ad\u8a00\u5931\u8d25<\/strong>\uff1aassert\u6761\u4ef6\u4e0d\u6ee1\u8db3<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u672a\u6355\u83b7<\/strong>\uff1aC++\u5f02\u5e38\u6ca1\u6709\u88ab\u6355\u83b7<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8fdb\u7a0b\u95f4\u7ed3\u675f<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7236\u8fdb\u7a0b\u7ec8\u6b62\u5b50\u8fdb\u7a0b<\/li>\n\n\n\n<li>\u7279\u6743\u8fdb\u7a0b\u7ec8\u6b62\u5176\u4ed6\u8fdb\u7a0b<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">250. \u4ec0\u4e48\u662f\u4f1a\u8bdd<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u4f1a\u8bdd<\/strong>\u662f\u4e00\u7ec4\u8fdb\u7a0b\u7ec4\u7684\u96c6\u5408\uff0c\u901a\u5e38\u5bf9\u5e94\u4e00\u4e2a\u7528\u6237\u767b\u5f55\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ec4\u6210<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4e00\u4e2a\u4f1a\u8bdd\u6709\u4e00\u4e2a<strong>\u4f1a\u8bdd\u9996\u8fdb\u7a0b<\/strong>\uff08\u901a\u5e38\u662f\u767b\u5f55shell\uff09<\/li>\n\n\n\n<li>\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a<strong>\u8fdb\u7a0b\u7ec4<\/strong><\/li>\n\n\n\n<li>\u6bcf\u4e2a\u8fdb\u7a0b\u7ec4\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u8fdb\u7a0b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4f5c\u4e1a\u63a7\u5236<\/strong>\uff1a\u652f\u6301\u524d\u540e\u53f0\u4f5c\u4e1a\u5207\u6362<\/li>\n\n\n\n<li><strong>\u7ec8\u7aef\u7ba1\u7406<\/strong>\uff1a\u7ba1\u7406\u63a7\u5236\u7ec8\u7aef\u7684\u5206\u914d<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u4f20\u64ad<\/strong>\uff1a\u5411\u6574\u4e2a\u4f1a\u8bdd\u53d1\u9001\u4fe1\u53f7<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u76f8\u5173\u6982\u5ff5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u63a7\u5236\u7ec8\u7aef<\/strong>\uff1a\u4f1a\u8bdd\u4e0e\u4e00\u4e2a\u7ec8\u7aef\u5173\u8054<\/li>\n\n\n\n<li><strong>\u524d\u53f0\u8fdb\u7a0b\u7ec4<\/strong>\uff1a\u5f53\u524d\u4e0e\u7ec8\u7aef\u4ea4\u4e92\u7684\u8fdb\u7a0b\u7ec4<\/li>\n\n\n\n<li><strong>\u540e\u53f0\u8fdb\u7a0b\u7ec4<\/strong>\uff1a\u5728\u540e\u53f0\u8fd0\u884c\u7684\u8fdb\u7a0b\u7ec4<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">251. \u5b88\u62a4\u8fdb\u7a0b\u548c\u540e\u53f0\u8fdb\u7a0b\u7684\u533a\u522b\uff0c\u600e\u4e48\u521b\u5efa\u8fd9\u4e24\u4e2a<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u540e\u53f0\u8fdb\u7a0b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u547d\u4ee4\u540e\u52a0 <code>&amp;<\/code> \u5373\u53ef\u521b\u5efa\uff1a<code>.\/program &amp;<\/code><\/li>\n\n\n\n<li>\u4ecd\u7136\u4e0e\u7ec8\u7aef\u5173\u8054\uff0c\u5982\u679c\u7ec8\u7aef\u5173\u95ed\uff0c\u4f1a\u6536\u5230 SIGHUP \u4fe1\u53f7\uff08\u9ed8\u8ba4\u7ec8\u6b62\uff09<\/li>\n\n\n\n<li>\u6807\u51c6\u8f93\u5165\/\u8f93\u51fa\u4ecd\u5173\u8054\u5230\u7ec8\u7aef<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5b88\u62a4\u8fdb\u7a0b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b8c\u5168\u8131\u79bb\u7ec8\u7aef\uff0c\u5728\u540e\u53f0\u72ec\u7acb\u8fd0\u884c<\/li>\n\n\n\n<li>\u4e0d\u53d7\u7ec8\u7aef\u5173\u95ed\u5f71\u54cd<\/li>\n\n\n\n<li>\u901a\u5e38\u4ee5 root \u6743\u9650\u8fd0\u884c\uff0c\u751f\u547d\u5468\u671f\u957f<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u7684\u6b65\u9aa4<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><code>fork()<\/code> \u521b\u5efa\u5b50\u8fdb\u7a0b\uff0c\u7236\u8fdb\u7a0b\u9000\u51fa<\/li>\n\n\n\n<li><code>setsid()<\/code> \u521b\u5efa\u65b0\u4f1a\u8bdd\uff0c\u8131\u79bb\u7ec8\u7aef<\/li>\n\n\n\n<li>\u518d\u6b21 <code>fork()<\/code> \u9632\u6b62\u91cd\u65b0\u83b7\u53d6\u7ec8\u7aef<\/li>\n\n\n\n<li>\u66f4\u6539\u5de5\u4f5c\u76ee\u5f55\u5230 <code>\/<\/code><\/li>\n\n\n\n<li>\u91cd\u8bbe\u6587\u4ef6\u6743\u9650\u63a9\u7801<\/li>\n\n\n\n<li>\u5173\u95ed\u6240\u6709\u6587\u4ef6\u63cf\u8ff0\u7b26<\/li>\n\n\n\n<li>\u91cd\u5b9a\u5411\u6807\u51c6\u8f93\u5165\/\u8f93\u51fa\/\u9519\u8bef\u5230 <code>\/dev\/null<\/code> \u6216\u65e5\u5fd7\u6587\u4ef6<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">252. \u5199\u65f6\u62f7\u8d1d<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u5199\u65f6\u62f7\u8d1d<\/strong> \u662f\u4e00\u79cd\u4f18\u5316\u6280\u672f\uff0c\u7528\u4e8e\u5728\u591a\u4e2a\u8fdb\u7a0b\/\u7ebf\u7a0b\u5171\u4eab\u76f8\u540c\u6570\u636e\u65f6\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u62f7\u8d1d\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u7406<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u521d\u59cb\u65f6\uff0c\u591a\u4e2a\u8fdb\u7a0b\u5171\u4eab\u540c\u4e00\u4efd\u7269\u7406\u5185\u5b58\u9875\uff08\u6807\u8bb0\u4e3a\u53ea\u8bfb\uff09<\/li>\n\n\n\n<li>\u5f53\u67d0\u4e2a\u8fdb\u7a0b\u5c1d\u8bd5\u5199\u5165\u6570\u636e\u65f6\uff0c\u89e6\u53d1\u9875\u9519\u8bef<\/li>\n\n\n\n<li>\u64cd\u4f5c\u7cfb\u7edf\u68c0\u6d4b\u5230\u5199\u65f6\u62f7\u8d1d\uff0c\u4e3a\u8be5\u8fdb\u7a0b\u521b\u5efa\u8be5\u5185\u5b58\u9875\u7684\u526f\u672c<\/li>\n\n\n\n<li>\u8fdb\u7a0b\u5728\u526f\u672c\u4e0a\u8fdb\u884c\u4fee\u6539\uff0c\u5176\u4ed6\u8fdb\u7a0b\u4ecd\u5171\u4eab\u539f\u59cb\u9875\u9762<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u573a\u666f<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong><code>fork()<\/code> \u7cfb\u7edf\u8c03\u7528<\/strong>\uff1a\u5b50\u8fdb\u7a0b\u4e0e\u7236\u8fdb\u7a0b\u5171\u4eab\u5185\u5b58\uff0c\u53ea\u6709\u5728\u5199\u5165\u65f6\u624d\u590d\u5236<\/li>\n\n\n\n<li><strong>STL \u5b57\u7b26\u4e32<\/strong>\uff08\u65e9\u671f\u5b9e\u73b0\uff09\uff1a\u591a\u4e2a\u5b57\u7b26\u4e32\u5bf9\u8c61\u5171\u4eab\u540c\u4e00\u5185\u5b58<\/li>\n\n\n\n<li><strong>\u865a\u62df\u5185\u5b58\u7ba1\u7406<\/strong>\uff1a\u5171\u4eab\u5e93\u7684\u4ee3\u7801\u6bb5\u5728\u8fdb\u7a0b\u95f4\u5171\u4eab<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u8282\u7701\u5185\u5b58\uff0c\u63d0\u9ad8\u6027\u80fd\uff08\u907f\u514d\u4e0d\u5fc5\u8981\u7684\u62f7\u8d1d\uff09<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u9700\u8981\u64cd\u4f5c\u7cfb\u7edf\u548c\u786c\u4ef6\u7684\u652f\u6301\uff0c\u5b9e\u73b0\u590d\u6742<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">253. \u81ea\u65cb\u9501<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u81ea\u65cb\u9501<\/strong> \u662f\u4e00\u79cd\u5fd9\u7b49\u5f85\u7684\u9501\u673a\u5236\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5de5\u4f5c\u539f\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5f53\u7ebf\u7a0b\u5c1d\u8bd5\u83b7\u53d6\u9501\u65f6\uff0c\u5982\u679c\u9501\u5df2\u88ab\u5360\u7528\uff0c\u7ebf\u7a0b\u4f1a<strong>\u5faa\u73af\u68c0\u67e5<\/strong>\u9501\u7684\u72b6\u6001\uff08\u81ea\u65cb\uff09\uff0c\u800c\u4e0d\u662f\u7acb\u5373\u963b\u585e<\/li>\n\n\n\n<li>\u4e00\u65e6\u9501\u88ab\u91ca\u653e\uff0c\u7b49\u5f85\u7684\u7ebf\u7a0b\u53ef\u4ee5\u7acb\u5373\u83b7\u53d6\u9501<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0\u65b9\u5f0f<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u7b80\u5355\u7684\u81ea\u65cb\u9501\u5b9e\u73b0\uff08\u539f\u5b50\u64cd\u4f5c\uff09 class SpinLock { std::atomic_flag flag = ATOMIC_FLAG_INIT; public: void lock() { while (flag.test_and_set(std::memory_order_acquire)) { \/\/ \u81ea\u65cb\u7b49\u5f85 } } void unlock() { flag.clear(std::memory_order_release); } };<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4e34\u754c\u533a\u4ee3\u7801\u6267\u884c\u65f6\u95f4\u975e\u5e38\u77ed<\/li>\n\n\n\n<li>\u591a\u6838\u5904\u7406\u5668\u73af\u5883\uff08\u5355\u6838CPU\u4e0a\u81ea\u65cb\u9501\u6ca1\u6709\u610f\u4e49\uff09<\/li>\n\n\n\n<li>\u4e0d\u5e0c\u671b\u7ebf\u7a0b\u5207\u6362\u7684\u5f00\u9500<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6d6a\u8d39CPU\u5468\u671f\uff08\u5fd9\u7b49\u5f85\uff09<\/li>\n\n\n\n<li>\u53ef\u80fd\u5bfc\u81f4\u4f18\u5148\u7ea7\u53cd\u8f6c\u95ee\u9898<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">254. \u8c08\u4e00\u4e0b\u5bf9\u591a\u7ebf\u7a0b\u7684\u7406\u89e3\uff0c\u5982\u751f\u4ea7\u8005-\u6d88\u8d39\u8005\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u591a\u7ebf\u7a0b\u7406\u89e3<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u591a\u7ebf\u7a0b\u5141\u8bb8\u4e00\u4e2a\u8fdb\u7a0b\u5185\u540c\u65f6\u6267\u884c\u591a\u4e2a\u4efb\u52a1<\/li>\n\n\n\n<li>\u5171\u4eab\u8fdb\u7a0b\u7684\u8d44\u6e90\uff08\u5185\u5b58\u3001\u6587\u4ef6\u63cf\u8ff0\u7b26\u7b49\uff09<\/li>\n\n\n\n<li>\u63d0\u9ad8CPU\u5229\u7528\u7387\uff0c\u6539\u5584\u7a0b\u5e8f\u54cd\u5e94\u6027<\/li>\n\n\n\n<li>\u9700\u8981\u5904\u7406\u540c\u6b65\u548c\u7ade\u6001\u6761\u4ef6\u95ee\u9898<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u751f\u4ea7\u8005-\u6d88\u8d39\u8005\u95ee\u9898<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u95ee\u9898\u63cf\u8ff0<\/strong>\uff1a\u751f\u4ea7\u8005\u751f\u4ea7\u6570\u636e\u653e\u5165\u7f13\u51b2\u533a\uff0c\u6d88\u8d39\u8005\u4ece\u7f13\u51b2\u533a\u53d6\u6570\u636e<\/li>\n\n\n\n<li><strong>\u540c\u6b65\u8981\u6c42<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u7f13\u51b2\u533a\u6ee1\u65f6\uff0c\u751f\u4ea7\u8005\u7b49\u5f85<\/li>\n\n\n\n<li>\u7f13\u51b2\u533a\u7a7a\u65f6\uff0c\u6d88\u8d39\u8005\u7b49\u5f85<\/li>\n\n\n\n<li>\u751f\u4ea7\u8005\u548c\u6d88\u8d39\u8005\u4e92\u65a5\u8bbf\u95ee\u7f13\u51b2\u533a<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u4f7f\u7528\u4e92\u65a5\u9501\u548c\u6761\u4ef6\u53d8\u91cf std::queue&lt;int> buffer; std::mutex mtx; std::condition_variable not_empty, not_full; const int MAX_SIZE = 10; \/\/ \u751f\u4ea7\u8005 void producer() { while (true) { std::unique_lock&lt;std::mutex> lock(mtx); not_full.wait(lock, []{ return buffer.size() &lt; MAX_SIZE; }); int item = produce_item(); buffer.push(item); not_empty.notify_one(); } } \/\/ \u6d88\u8d39\u8005 void consumer() { while (true) { std::unique_lock&lt;std::mutex> lock(mtx); not_empty.wait(lock, []{ return !buffer.empty(); }); int item = buffer.front(); buffer.pop(); not_full.notify_one(); consume_item(item); } }<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">255. \u4ec0\u4e48\u662f\u6b7b\u9501\uff1f\u6b7b\u9501\u4ea7\u751f\u7684\u6761\u4ef6\uff1f\u600e\u4e48\u89e3\u51b3\u6b7b\u9501\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6b7b\u9501<\/strong>\uff1a\u4e24\u4e2a\u6216\u591a\u4e2a\u8fdb\u7a0b\/\u7ebf\u7a0b\u4e92\u76f8\u7b49\u5f85\u5bf9\u65b9\u6301\u6709\u7684\u8d44\u6e90\uff0c\u5bfc\u81f4\u6240\u6709\u8fdb\u7a0b\u90fd\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c<\/li>\n\n\n\n<li><strong>\u6b7b\u9501\u4ea7\u751f\u7684\u56db\u4e2a\u5fc5\u8981\u6761\u4ef6<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5<\/strong>\uff1a\u8d44\u6e90\u53ea\u80fd\u88ab\u4e00\u4e2a\u8fdb\u7a0b\u72ec\u5360\u4f7f\u7528<\/li>\n\n\n\n<li><strong>\u6301\u6709\u5e76\u7b49\u5f85<\/strong>\uff1a\u8fdb\u7a0b\u6301\u6709\u8d44\u6e90\u7684\u540c\u65f6\u7b49\u5f85\u5176\u4ed6\u8d44\u6e90<\/li>\n\n\n\n<li><strong>\u4e0d\u53ef\u5265\u593a<\/strong>\uff1a\u8d44\u6e90\u53ea\u80fd\u7531\u6301\u6709\u8005\u4e3b\u52a8\u91ca\u653e<\/li>\n\n\n\n<li><strong>\u5faa\u73af\u7b49\u5f85<\/strong>\uff1a\u5b58\u5728\u8fdb\u7a0b-\u8d44\u6e90\u7684\u5faa\u73af\u7b49\u5f85\u94fe<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u6b7b\u9501\u7684\u65b9\u6cd5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u9884\u9632<\/strong>\uff1a\u7834\u574f\u56db\u4e2a\u5fc5\u8981\u6761\u4ef6\u4e2d\u7684\u4e00\u4e2a\n<ul class=\"wp-block-list\">\n<li>\u7834\u574f\u4e92\u65a5\uff1a\u8ba9\u8d44\u6e90\u53ef\u5171\u4eab\uff08\u4e0d\u603b\u662f\u53ef\u884c\uff09<\/li>\n\n\n\n<li>\u7834\u574f\u6301\u6709\u5e76\u7b49\u5f85\uff1a\u4e00\u6b21\u6027\u7533\u8bf7\u6240\u6709\u8d44\u6e90<\/li>\n\n\n\n<li>\u7834\u574f\u4e0d\u53ef\u5265\u593a\uff1a\u5141\u8bb8\u5f3a\u5236\u5265\u593a\u8d44\u6e90<\/li>\n\n\n\n<li>\u7834\u574f\u5faa\u73af\u7b49\u5f85\uff1a\u6309\u987a\u5e8f\u7533\u8bf7\u8d44\u6e90<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u907f\u514d<\/strong>\uff1a\u94f6\u884c\u5bb6\u7b97\u6cd5\uff0c\u7cfb\u7edf\u8fdb\u884c\u5b89\u5168\u6027\u68c0\u67e5<\/li>\n\n\n\n<li><strong>\u68c0\u6d4b\u4e0e\u6062\u590d<\/strong>\uff1a\u5141\u8bb8\u6b7b\u9501\u53d1\u751f\uff0c\u4f46\u5b9a\u671f\u68c0\u6d4b\u5e76\u6062\u590d<\/li>\n\n\n\n<li><strong>\u5ffd\u7565<\/strong>\uff1a\u9e35\u9e1f\u7b56\u7565\uff0c\u5047\u8bbe\u6b7b\u9501\u4e0d\u4f1a\u53d1\u751f\u6216\u5f71\u54cd\u4e0d\u5927<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">256. \u4fe1\u53f7\u91cf\u5904\u7406\u8017\u8d39\u591a\u957f\u65f6\u95f4\uff0c\u4fe1\u53f7\u91cf\u540c\u6b65\u4f1a\u6709\u4ec0\u4e48\u95ee\u9898<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4fe1\u53f7\u91cf\u5904\u7406\u65f6\u95f4<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7528\u6237\u6001\u4fe1\u53f7\u91cf\u64cd\u4f5c\uff08P\/V\u64cd\u4f5c\uff09\u901a\u5e38\u5f88\u5feb\uff0c\u4e3b\u8981\u662f\u539f\u5b50\u6307\u4ee4\u7684\u5f00\u9500<\/li>\n\n\n\n<li>\u5982\u679c\u4fe1\u53f7\u91cf\u4e0d\u53ef\u7528\uff0c\u7ebf\u7a0b\u963b\u585e\u4f1a\u6d89\u53ca\u4e0a\u4e0b\u6587\u5207\u6362\uff0c\u5f00\u9500\u8f83\u5927\uff08\u5fae\u79d2\u7ea7\uff09<\/li>\n\n\n\n<li>\u5177\u4f53\u65f6\u95f4\u53d6\u51b3\u4e8e\u786c\u4ef6\u548c\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u73b0<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u91cf\u540c\u6b65\u7684\u95ee\u9898<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4f18\u5148\u7ea7\u53cd\u8f6c<\/strong>\uff1a\u4f4e\u4f18\u5148\u7ea7\u4efb\u52a1\u6301\u6709\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u9700\u8981\u7684\u4fe1\u53f7\u91cf<\/li>\n\n\n\n<li><strong>\u6b7b\u9501<\/strong>\uff1a\u4e0d\u6b63\u786e\u7684\u4fe1\u53f7\u91cf\u4f7f\u7528\u987a\u5e8f\u5bfc\u81f4\u5faa\u73af\u7b49\u5f85<\/li>\n\n\n\n<li><strong>\u8d44\u6e90\u9965\u997f<\/strong>\uff1a\u67d0\u4e9b\u7ebf\u7a0b\u957f\u65f6\u95f4\u5f97\u4e0d\u5230\u4fe1\u53f7\u91cf<\/li>\n\n\n\n<li><strong>\u9519\u8bef\u68c0\u67e5\u56f0\u96be<\/strong>\uff1a\u4fe1\u53f7\u91cf\u72b6\u6001\u4e0d\u5982\u4e92\u65a5\u9501\u76f4\u89c2\uff0c\u8c03\u8bd5\u56f0\u96be<\/li>\n\n\n\n<li><strong>\u6027\u80fd\u95ee\u9898<\/strong>\uff1a\u8fc7\u591a\u7684\u4fe1\u53f7\u91cf\u64cd\u4f5c\u4f1a\u5f71\u54cd\u6027\u80fd<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">257. \u767b\u5f55shell\u8fdb\u7a0b\u662f\u5982\u4f55\u542f\u52a8\u7684\uff0cshell\u662f\u5982\u4f55\u8c03\u7528\u7cfb\u7edf\u8c03\u7528\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u767b\u5f55shell\u542f\u52a8\u8fc7\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u7528\u6237\u767b\u5f55\u65f6\uff0c<code>getty<\/code> \u6216 <code>login<\/code> \u8fdb\u7a0b\u542f\u52a8<\/li>\n\n\n\n<li>\u9a8c\u8bc1\u7528\u6237\u540d\u548c\u5bc6\u7801\u540e\uff0c\u542f\u52a8\u6307\u5b9a\u7684shell\uff08\u5982bash\uff09<\/li>\n\n\n\n<li>shell\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6\uff08<code>\/etc\/profile<\/code>, <code>~\/.bashrc<\/code>\u7b49\uff09<\/li>\n\n\n\n<li>\u663e\u793a\u63d0\u793a\u7b26\uff0c\u7b49\u5f85\u7528\u6237\u8f93\u5165\u547d\u4ee4<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>shell\u8c03\u7528\u7cfb\u7edf\u8c03\u7528\u7684\u8fc7\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u89e3\u6790\u547d\u4ee4<\/strong>\uff1ashell\u89e3\u6790\u7528\u6237\u8f93\u5165\u7684\u547d\u4ee4\u548c\u53c2\u6570<\/li>\n\n\n\n<li><strong>\u5185\u7f6e\u547d\u4ee4<\/strong>\uff1a\u5982\u679c\u662fshell\u5185\u7f6e\u547d\u4ee4\uff08\u5982cd\uff09\uff0c\u76f4\u63a5\u6267\u884c<\/li>\n\n\n\n<li><strong>\u5916\u90e8\u547d\u4ee4<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>fork()<\/code> \u521b\u5efa\u5b50\u8fdb\u7a0b<\/li>\n\n\n\n<li>\u5b50\u8fdb\u7a0b\u8c03\u7528 <code>exec()<\/code> \u7cfb\u5217\u51fd\u6570\u52a0\u8f7d\u5e76\u6267\u884c\u7a0b\u5e8f<\/li>\n\n\n\n<li>\u7236\u8fdb\u7a0b\uff08shell\uff09\u8c03\u7528 <code>wait()<\/code> \u7b49\u5f85\u5b50\u8fdb\u7a0b\u7ed3\u675f<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u91cd\u5b9a\u5411\u548c\u7ba1\u9053<\/strong>\uff1ashell\u8bbe\u7f6e\u597dI\/O\u91cd\u5b9a\u5411\u548c\u7ba1\u9053\u540e\u518d\u6267\u884c\u547d\u4ee4<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">258. sleep\uff08\uff09\u8c03\u7528\u540e\u8fdb\u7a0b\u6709\u54ea\u4e9b\u8fc7\u7a0b\uff0c\u5728sleep\uff08\uff09\u7684\u8fc7\u7a0b\u4e2d\u8fdb\u7a0b\u5360\u7528CPU\u4e86\u5417<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>sleep() \u8c03\u7528\u8fc7\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u8fdb\u7a0b\u8c03\u7528 <code>sleep(n)<\/code>\uff0c\u8bf7\u6c42\u7761\u7720n\u79d2<\/li>\n\n\n\n<li>\u64cd\u4f5c\u7cfb\u7edf\u5c06\u8fdb\u7a0b\u72b6\u6001\u8bbe\u7f6e\u4e3a<strong>\u53ef\u4e2d\u65ad\u7761\u7720<\/strong><\/li>\n\n\n\n<li>\u5c06\u8fdb\u7a0b\u52a0\u5165\u5b9a\u65f6\u5668\u961f\u5217\uff0c\u8bbe\u7f6e\u5524\u9192\u65f6\u95f4<\/li>\n\n\n\n<li>\u8c03\u7528\u8c03\u5ea6\u5668\uff0c\u5207\u6362\u5230\u5176\u4ed6\u8fdb\u7a0b\u6267\u884c<\/li>\n\n\n\n<li>\u5b9a\u65f6\u5668\u5230\u671f\u540e\uff0c\u5c06\u8fdb\u7a0b\u72b6\u6001\u6539\u4e3a\u5c31\u7eea<\/li>\n\n\n\n<li>\u8c03\u5ea6\u5668\u5728\u9002\u5f53\u65f6\u673a\u91cd\u65b0\u8c03\u5ea6\u8be5\u8fdb\u7a0b<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>CPU\u5360\u7528\u60c5\u51b5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728 <code>sleep()<\/code> \u671f\u95f4\uff0c\u8fdb\u7a0b<strong>\u4e0d\u5360\u7528CPU<\/strong><\/li>\n\n\n\n<li>\u8fdb\u7a0b\u5904\u4e8e\u963b\u585e\u72b6\u6001\uff0cCPU\u53ef\u4ee5\u6267\u884c\u5176\u4ed6\u4efb\u52a1<\/li>\n\n\n\n<li>\u8fd9\u4e0e\u5fd9\u7b49\u5f85\uff08\u5982\u7a7a\u5faa\u73af\uff09\u6709\u672c\u8d28\u533a\u522b<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">259. \u7ebf\u7a0b\u6c60\u6709\u4ec0\u4e48\u597d\u5904<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u964d\u4f4e\u8d44\u6e90\u6d88\u8017<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u907f\u514d\u9891\u7e41\u521b\u5efa\u548c\u9500\u6bc1\u7ebf\u7a0b\u7684\u5f00\u9500<\/li>\n\n\n\n<li>\u590d\u7528\u5df2\u521b\u5efa\u7684\u7ebf\u7a0b\uff0c\u51cf\u5c11\u7cfb\u7edf\u8d44\u6e90\u6d88\u8017<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u63d0\u9ad8\u54cd\u5e94\u901f\u5ea6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4efb\u52a1\u5230\u8fbe\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7a7a\u95f2\u7ebf\u7a0b\u6267\u884c<\/li>\n\n\n\n<li>\u65e0\u9700\u7b49\u5f85\u65b0\u7ebf\u7a0b\u521b\u5efa<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u63d0\u9ad8\u7ebf\u7a0b\u53ef\u7ba1\u7406\u6027<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u53ef\u4ee5\u7edf\u4e00\u7ba1\u7406\u7ebf\u7a0b\u6570\u91cf\u3001\u4f18\u5148\u7ea7\u7b49<\/li>\n\n\n\n<li>\u907f\u514d\u65e0\u9650\u5236\u521b\u5efa\u7ebf\u7a0b\u5bfc\u81f4\u7cfb\u7edf\u5d29\u6e83<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u63d0\u4f9b\u66f4\u591a\u529f\u80fd<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u652f\u6301\u5b9a\u65f6\u6267\u884c\u3001\u5468\u671f\u6267\u884c\u7b49\u529f\u80fd<\/li>\n\n\n\n<li>\u53ef\u4ee5\u7edf\u8ba1\u7ebf\u7a0b\u6267\u884c\u60c5\u51b5\uff0c\u8fdb\u884c\u76d1\u63a7\u548c\u8c03\u4f18<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u907f\u514d\u7ade\u4e89\u95ee\u9898<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5408\u7406\u8bbe\u7f6e\u7ebf\u7a0b\u6570\u91cf\uff0c\u907f\u514d\u8fc7\u591a\u7ebf\u7a0b\u7ade\u4e89CPU\u8d44\u6e90<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">260. \u8bb2\u4e00\u4e0b\u7ebf\u7a0b\u6c60<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ebf\u7a0b\u6c60\u7ec4\u6210<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4efb\u52a1\u961f\u5217<\/strong>\uff1a\u5b58\u50a8\u5f85\u6267\u884c\u7684\u4efb\u52a1<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u7ebf\u7a0b<\/strong>\uff1a\u4ece\u961f\u5217\u4e2d\u53d6\u51fa\u4efb\u52a1\u5e76\u6267\u884c<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u7ba1\u7406\u5668<\/strong>\uff1a\u521b\u5efa\u3001\u9500\u6bc1\u3001\u7ba1\u7406\u7ebf\u7a0b<\/li>\n\n\n\n<li><strong>\u4efb\u52a1\u63a5\u53e3<\/strong>\uff1a\u5b9a\u4e49\u4efb\u52a1\u7684\u6267\u884c\u65b9\u5f0f<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u6d41\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u521d\u59cb\u5316\u65f6\u521b\u5efa\u56fa\u5b9a\u6570\u91cf\u7684\u5de5\u4f5c\u7ebf\u7a0b<\/li>\n\n\n\n<li>\u7528\u6237\u63d0\u4ea4\u4efb\u52a1\u5230\u4efb\u52a1\u961f\u5217<\/li>\n\n\n\n<li>\u5de5\u4f5c\u7ebf\u7a0b\u4ece\u961f\u5217\u4e2d\u53d6\u51fa\u4efb\u52a1\u6267\u884c<\/li>\n\n\n\n<li>\u4efb\u52a1\u6267\u884c\u5b8c\u6bd5\uff0c\u7ebf\u7a0b\u7ee7\u7eed\u7b49\u5f85\u65b0\u4efb\u52a1<\/li>\n\n\n\n<li>\u7ebf\u7a0b\u6c60\u5173\u95ed\u65f6\uff0c\u4f18\u96c5\u505c\u6b62\u6240\u6709\u7ebf\u7a0b<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5173\u952e\u95ee\u9898\u5904\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u7ebf\u7a0b\u5b89\u5168<\/strong>\uff1a\u4efb\u52a1\u961f\u5217\u9700\u8981\u52a0\u9501\u4fdd\u62a4<\/li>\n\n\n\n<li><strong>\u4efb\u52a1\u8c03\u5ea6<\/strong>\uff1a\u652f\u6301\u4f18\u5148\u7ea7\u8c03\u5ea6\u3001\u5b9a\u65f6\u4efb\u52a1\u7b49<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5904\u7406<\/strong>\uff1a\u4efb\u52a1\u6267\u884c\u5f02\u5e38\u4e0d\u5e94\u5f71\u54cd\u7ebf\u7a0b\u6c60<\/li>\n\n\n\n<li><strong>\u8d44\u6e90\u7ba1\u7406<\/strong>\uff1a\u9632\u6b62\u4efb\u52a1\u79ef\u538b\u5bfc\u81f4\u5185\u5b58\u8017\u5c3d<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">261. \u4ec0\u4e48\u662f\u7ebf\u7a0b\u5b89\u5168<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ebf\u7a0b\u5b89\u5168<\/strong>\uff1a\u5f53\u591a\u4e2a\u7ebf\u7a0b\u540c\u65f6\u8bbf\u95ee\u67d0\u4e2a\u7c7b\u3001\u5bf9\u8c61\u6216\u51fd\u6570\u65f6\uff0c\u5982\u679c\u4e0d\u8003\u8651\u8fd9\u4e9b\u7ebf\u7a0b\u7684\u8c03\u5ea6\u548c\u4ea4\u66ff\u6267\u884c\uff0c\u4e14\u4e0d\u9700\u8981\u989d\u5916\u7684\u540c\u6b65\uff0c\u8fd9\u4e2a\u7c7b\u3001\u5bf9\u8c61\u6216\u51fd\u6570\u4ecd\u7136\u80fd\u8868\u73b0\u51fa\u6b63\u786e\u7684\u884c\u4e3a\u3002<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u5b89\u5168\u7684\u7ea7\u522b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4e0d\u53ef\u53d8<\/strong>\uff1a\u5bf9\u8c61\u4e00\u65e6\u521b\u5efa\u5c31\u4e0d\u80fd\u4fee\u6539\uff08\u5982Java\u7684String\uff09<\/li>\n\n\n\n<li><strong>\u7edd\u5bf9\u7ebf\u7a0b\u5b89\u5168<\/strong>\uff1a\u65e0\u8bba\u8fd0\u884c\u65f6\u73af\u5883\u5982\u4f55\uff0c\u8c03\u7528\u8005\u90fd\u4e0d\u9700\u8981\u989d\u5916\u7684\u540c\u6b65\u63aa\u65bd<\/li>\n\n\n\n<li><strong>\u76f8\u5bf9\u7ebf\u7a0b\u5b89\u5168<\/strong>\uff1a\u5bf9\u5355\u4e2a\u64cd\u4f5c\u662f\u7ebf\u7a0b\u5b89\u5168\u7684\uff0c\u4f46\u67d0\u4e9b\u64cd\u4f5c\u5e8f\u5217\u9700\u8981\u989d\u5916\u540c\u6b65<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u517c\u5bb9<\/strong>\uff1a\u5bf9\u8c61\u672c\u8eab\u4e0d\u662f\u7ebf\u7a0b\u5b89\u5168\u7684\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7\u540c\u6b65\u624b\u6bb5\u5b89\u5168\u4f7f\u7528<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u5bf9\u7acb<\/strong>\uff1a\u65e0\u8bba\u662f\u5426\u540c\u6b65\uff0c\u90fd\u65e0\u6cd5\u5728\u591a\u7ebf\u7a0b\u73af\u5883\u4e2d\u5b89\u5168\u4f7f\u7528<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0\u7ebf\u7a0b\u5b89\u5168\u7684\u65b9\u6cd5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u4f7f\u7528\u4e0d\u53ef\u53d8\u5bf9\u8c61<\/li>\n\n\n\n<li>\u4f7f\u7528\u7ebf\u7a0b\u5b89\u5168\u7c7b\uff08\u5982<code>ConcurrentHashMap<\/code>\uff09<\/li>\n\n\n\n<li>\u52a0\u9501\uff08\u4e92\u65a5\u9501\u3001\u8bfb\u5199\u9501\u7b49\uff09<\/li>\n\n\n\n<li>\u4f7f\u7528\u539f\u5b50\u64cd\u4f5c<\/li>\n\n\n\n<li>\u7ebf\u7a0b\u5c40\u90e8\u5b58\u50a8<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">262. \u591a\u7ebf\u7a0b\u95f4\u5171\u4eab\u6570\u636e\uff0c\u7528\u4ec0\u4e48\u65b9\u5f0f\u6765\u4fdd\u5b58\u4ed6\u4eec\u7684\u5b89\u5168\u6027<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5\u9501<\/strong>\uff1a\u6700\u57fa\u672c\u7684\u540c\u6b65\u673a\u5236cpp\u590d\u5236\u4e0b\u8f7dstd::mutex mtx; mtx.lock(); \/\/ \u8bbf\u95ee\u5171\u4eab\u6570\u636e mtx.unlock(); \/\/ \u6216\u4f7f\u7528RAII std::lock_guard&lt;std::mutex> lock(mtx);<\/li>\n\n\n\n<li><strong>\u8bfb\u5199\u9501<\/strong>\uff1a\u8bfb\u591a\u5199\u5c11\u7684\u573a\u666fcpp\u590d\u5236\u4e0b\u8f7dstd::shared_mutex rw_lock; \/\/ \u8bfb\u9501\uff08\u5171\u4eab\uff09 { std::shared_lock&lt;std::shared_mutex> lock(rw_lock); \/\/ \u8bfb\u53d6\u6570\u636e } \/\/ \u5199\u9501\uff08\u72ec\u5360\uff09 { std::unique_lock&lt;std::shared_mutex> lock(rw_lock); \/\/ \u4fee\u6539\u6570\u636e }<\/li>\n\n\n\n<li><strong>\u539f\u5b50\u64cd\u4f5c<\/strong>\uff1a\u7b80\u5355\u7684\u6570\u636e\u64cd\u4f5ccpp\u590d\u5236\u4e0b\u8f7dstd::atomic&lt;int> counter(0); counter.fetch_add(1, std::memory_order_relaxed);<\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u53d8\u91cf<\/strong>\uff1a\u7ebf\u7a0b\u95f4\u901a\u4fe1\u548c\u534f\u8c03<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u91cf<\/strong>\uff1a\u63a7\u5236\u5bf9\u591a\u4e2a\u8d44\u6e90\u7684\u8bbf\u95ee<\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u539f\u5219<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5c3d\u91cf\u7f29\u5c0f\u4e34\u754c\u533a\u8303\u56f4<\/li>\n\n\n\n<li>\u907f\u514d\u5728\u4e34\u754c\u533a\u5185\u8c03\u7528\u5916\u90e8\u51fd\u6570\uff08\u53ef\u80fd\u9020\u6210\u6b7b\u9501\uff09<\/li>\n\n\n\n<li>\u4f7f\u7528RAII\u7ba1\u7406\u9501\u8d44\u6e90<\/li>\n\n\n\n<li>\u6ce8\u610f\u9501\u7684\u7c92\u5ea6\uff08\u7c97\u7c92\u5ea6\u9501\u7b80\u5355\u4f46\u6027\u80fd\u5dee\uff0c\u7ec6\u7c92\u5ea6\u9501\u590d\u6742\u4f46\u6027\u80fd\u597d\uff09<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">263. \u4ec0\u4e48\u662f\u7ebf\u7a0b\u5b89\u5168\u51fd\u6570\uff0c\u5de5\u4f5c\u4e2d\u5982\u4f55\u4fdd\u8bc1\u7ebf\u7a0b\u5b89\u5168<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ebf\u7a0b\u5b89\u5168\u51fd\u6570<\/strong>\uff1a\u53ef\u4ee5\u88ab\u591a\u4e2a\u7ebf\u7a0b\u540c\u65f6\u8c03\u7528\u800c\u4e0d\u4f1a\u4ea7\u751f\u9519\u8bef\u7ed3\u679c\u7684\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u4fdd\u8bc1\u7ebf\u7a0b\u5b89\u5168\u7684\u65b9\u6cd5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u5c40\u90e8\u53d8\u91cf<\/strong>\uff1a\u51fd\u6570\u53ea\u4f7f\u7528\u6808\u4e0a\u7684\u5c40\u90e8\u53d8\u91cf<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u7ebf\u7a0b\u5c40\u90e8\u5b58\u50a8<\/strong>\uff1a<code>thread_local<\/code>\u53d8\u91cf<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u4e0d\u53ef\u53d8\u5bf9\u8c61<\/strong>\uff1a\u53ea\u8bfb\u6570\u636e\u4e0d\u9700\u8981\u540c\u6b65<\/li>\n\n\n\n<li><strong>\u52a0\u9501\u4fdd\u62a4\u5171\u4eab\u6570\u636e<\/strong><\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u539f\u5b50\u64cd\u4f5c<\/strong><\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u4e3a\u53ef\u91cd\u5165\u51fd\u6570<\/strong><\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u4e2d\u7684\u5177\u4f53\u5b9e\u8df5<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u975e\u7ebf\u7a0b\u5b89\u5168 class NonThreadSafe { static int counter; public: void increment() { ++counter; } \/\/ \u7ade\u6001\u6761\u4ef6\uff01 }; \/\/ \u7ebf\u7a0b\u5b89\u5168\u7248\u672c class ThreadSafe { static std::atomic&lt;int> counter; \/\/ \u65b9\u6cd51\uff1a\u539f\u5b50\u64cd\u4f5c public: void increment() { counter.fetch_add(1, std::memory_order_relaxed); } }; \/\/ \u6216\u8005\u4f7f\u7528\u4e92\u65a5\u9501 class ThreadSafeWithMutex { static int counter; static std::mutex mtx; \/\/ \u65b9\u6cd52\uff1a\u4e92\u65a5\u9501 public: void increment() { std::lock_guard&lt;std::mutex> lock(mtx); ++counter; } };<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">264. \u53ef\u91cd\u5165\u51fd\u6570\u662f\u4ec0\u4e48\u610f\u601d\uff0c\u4e3a\u4ec0\u4e48\u4e00\u5b9a\u662f\u7ebf\u7a0b\u5b89\u5168\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u53ef\u91cd\u5165\u51fd\u6570<\/strong>\uff1a\u53ef\u4ee5\u88ab\u591a\u4e2a\u4efb\u52a1\u540c\u65f6\u8c03\u7528\u800c\u4e0d\u4f1a\u51fa\u73b0\u6570\u636e\u9519\u8bef\u6216\u72b6\u6001\u6df7\u4e71\u7684\u51fd\u6570\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u91cd\u5165\u51fd\u6570\u7684\u7279\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u4e0d\u4f7f\u7528\u9759\u6001\u6216\u5168\u5c40\u53d8\u91cf\uff08\u6216\u4f7f\u7528\u5e38\u91cf\u9759\u6001\u6570\u636e\uff09<\/li>\n\n\n\n<li>\u4e0d\u8fd4\u56de\u6307\u5411\u9759\u6001\u6570\u636e\u7684\u6307\u9488<\/li>\n\n\n\n<li>\u53ea\u4f7f\u7528\u8c03\u7528\u8005\u63d0\u4f9b\u7684\u6570\u636e<\/li>\n\n\n\n<li>\u4e0d\u8c03\u7528\u4e0d\u53ef\u91cd\u5165\u51fd\u6570<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u53ef\u91cd\u5165\u51fd\u6570\u4e0e\u7ebf\u7a0b\u5b89\u5168\u7684\u5173\u7cfb<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u53ef\u91cd\u5165\u51fd\u6570\u4e00\u5b9a\u662f\u7ebf\u7a0b\u5b89\u5168\u7684<\/strong>\uff1a\u56e0\u4e3a\u53ef\u91cd\u5165\u51fd\u6570\u4e0d\u4f9d\u8d56\u5171\u4eab\u72b6\u6001\uff0c\u591a\u4e2a\u7ebf\u7a0b\u540c\u65f6\u8c03\u7528\u4e0d\u4f1a\u76f8\u4e92\u5e72\u6270<\/li>\n\n\n\n<li><strong>\u4f46\u7ebf\u7a0b\u5b89\u5168\u51fd\u6570\u4e0d\u4e00\u5b9a\u662f\u53ef\u91cd\u5165\u7684<\/strong>\uff1a\u7ebf\u7a0b\u5b89\u5168\u51fd\u6570\u53ef\u80fd\u901a\u8fc7\u52a0\u9501\u6765\u4fdd\u62a4\u5171\u4eab\u6570\u636e\uff0c\u8fd9\u5728\u4fe1\u53f7\u5904\u7406\u51fd\u6570\u4e2d\u53ef\u80fd\u6709\u95ee\u9898\uff08\u4fe1\u53f7\u5904\u7406\u51fd\u6570\u4e2d\u4e0d\u80fd\u52a0\u9501\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u53ef\u91cd\u5165\u51fd\u6570\uff08\u4e5f\u662f\u7ebf\u7a0b\u5b89\u5168\u7684\uff09 int add(int a, int b) { return a + b; \/\/ \u53ea\u4f7f\u7528\u53c2\u6570\uff0c\u65e0\u5171\u4eab\u72b6\u6001 } \/\/ \u7ebf\u7a0b\u5b89\u5168\u4f46\u4e0d\u53ef\u91cd\u5165\uff08\u4f7f\u7528\u4e92\u65a5\u9501\uff09 std::mutex mtx; int counter = 0; void increment() { std::lock_guard&lt;std::mutex> lock(mtx); \/\/ \u5728\u4fe1\u53f7\u5904\u7406\u51fd\u6570\u4e2d\u53ef\u80fd\u6b7b\u9501 ++counter; }<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">265. \u5728Linux\u4e2d\u5982\u4f55\u533a\u5206fork\u540e\uff0c\u90a3\u4e2a\u662f\u5b50\u8fdb\u7a0b\uff0c\u90a3\u4e2a\u662f\u7236\u8fdb\u7a0b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>fork()<\/code> \u7684\u8fd4\u56de\u503c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u7236\u8fdb\u7a0b\u4e2d\uff1a\u8fd4\u56de\u5b50\u8fdb\u7a0b\u7684PID\uff08\u5927\u4e8e0\uff09<\/li>\n\n\n\n<li>\u5728\u5b50\u8fdb\u7a0b\u4e2d\uff1a\u8fd4\u56de0<\/li>\n\n\n\n<li>\u51fa\u9519\u65f6\uff1a\u8fd4\u56de-1<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u533a\u5206\u65b9\u6cd5<\/strong>\uff1ac\u590d\u5236\u4e0b\u8f7dpid_t pid = fork(); if (pid == -1) { \/\/ \u9519\u8bef\u5904\u7406 perror(&#8220;fork failed&#8221;); exit(1); } else if (pid == 0) { \/\/ \u5b50\u8fdb\u7a0b\u4ee3\u7801 printf(&#8220;\u8fd9\u662f\u5b50\u8fdb\u7a0b\uff0c\u6211\u7684PID\u662f%d\\n&#8221;, getpid()); } else { \/\/ \u7236\u8fdb\u7a0b\u4ee3\u7801 printf(&#8220;\u8fd9\u662f\u7236\u8fdb\u7a0b\uff0c\u5b50\u8fdb\u7a0b\u7684PID\u662f%d\\n&#8221;, pid); }<\/li>\n\n\n\n<li><strong>\u5176\u4ed6\u533a\u5206\u65b9\u6cd5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b50\u8fdb\u7a0b\u7684 <code>getppid()<\/code> \u8fd4\u56de\u7236\u8fdb\u7a0bPID<\/li>\n\n\n\n<li>\u7236\u8fdb\u7a0b\u7684 <code>getpid()<\/code> \u4e0e\u5b50\u8fdb\u7a0b\u4e2d <code>getppid()<\/code> \u76f8\u540c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">266. \u5f53\u5b50\u7ebf\u7a0b\u9000\u51fa\u65f6\uff0c\u4f1a\u5411\u7236\u7ebf\u7a0b\u53d1\u51fa\u4ec0\u4e48\u4fe1\u53f7<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ebf\u7a0b\u9000\u51fa\u4fe1\u53f7<\/strong>\uff1a\u5b50\u7ebf\u7a0b\u9000\u51fa\u65f6\uff0c<strong>\u4e0d\u4f1a<\/strong>\u5411\u7236\u7ebf\u7a0b\u53d1\u9001\u4fe1\u53f7\u3002<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u4e0e\u8fdb\u7a0b\u7684\u533a\u522b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8fdb\u7a0b<\/strong>\uff1a\u5b50\u8fdb\u7a0b\u9000\u51fa\u65f6\uff0c\u4f1a\u5411\u7236\u8fdb\u7a0b\u53d1\u9001 <code>SIGCHLD<\/code> \u4fe1\u53f7<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b<\/strong>\uff1a\u7ebf\u7a0b\u662f\u8fdb\u7a0b\u5185\u7684\u6267\u884c\u6d41\uff0c\u9000\u51fa\u65f6\u901a\u8fc7\u7ebf\u7a0b\u5e93\u7684\u5185\u90e8\u673a\u5236\u901a\u77e5\u4e3b\u7ebf\u7a0b\uff0c\u4e0d\u6d89\u53ca\u4fe1\u53f7<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u9000\u51fa\u5904\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7ebf\u7a0b\u53ef\u4ee5\u901a\u8fc7 <code>pthread_join()<\/code> \u7b49\u5f85\u5176\u4ed6\u7ebf\u7a0b\u7ed3\u675f<\/li>\n\n\n\n<li>\u53ef\u4ee5\u8bbe\u7f6e\u7ebf\u7a0b\u5206\u79bb\u5c5e\u6027\uff08<code>pthread_detach()<\/code>\uff09\uff0c\u8ba9\u7ebf\u7a0b\u9000\u51fa\u540e\u81ea\u52a8\u56de\u6536\u8d44\u6e90<\/li>\n\n\n\n<li>\u7ebf\u7a0b\u9000\u51fa\u65f6\uff0c\u5176\u8d44\u6e90\u4e0d\u4f1a\u7acb\u5373\u91ca\u653e\uff0c\u9700\u8981\u5176\u4ed6\u7ebf\u7a0b\u8c03\u7528 <code>pthread_join()<\/code> \u6765\u56de\u6536<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">267. \u5e76\u53d1\u548c\u5e76\u884c\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5e76\u53d1<\/strong>\uff1a\u6307\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\uff0c\u591a\u4e2a\u4efb\u52a1<strong>\u4ea4\u66ff\u6267\u884c<\/strong>\uff08\u5355\u4e2aCPU\u901a\u8fc7\u65f6\u95f4\u7247\u8f6e\u8f6c\u5b9e\u73b0\uff09\n<ul class=\"wp-block-list\">\n<li>\u5b8f\u89c2\u4e0a\u540c\u65f6\uff0c\u5fae\u89c2\u4e0a\u4ea4\u66ff<\/li>\n\n\n\n<li>\u5982\uff1a\u5355\u6838CPU\u4e0a\u8fd0\u884c\u591a\u4e2a\u7ebf\u7a0b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5e76\u884c<\/strong>\uff1a\u6307\u5728\u540c\u4e00\u65f6\u523b\uff0c\u591a\u4e2a\u4efb\u52a1<strong>\u771f\u6b63\u540c\u65f6\u6267\u884c<\/strong>\uff08\u9700\u8981\u591a\u4e2aCPU\u6838\u5fc3\uff09\n<ul class=\"wp-block-list\">\n<li>\u5b8f\u89c2\u548c\u5fae\u89c2\u90fd\u540c\u65f6<\/li>\n\n\n\n<li>\u5982\uff1a\u591a\u6838CPU\u4e0a\u6bcf\u4e2a\u6838\u5fc3\u8fd0\u884c\u4e00\u4e2a\u7ebf\u7a0b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u7cfb<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5e76\u884c\u662f\u5e76\u53d1\u7684\u7279\u6b8a\u60c5\u51b5<\/li>\n\n\n\n<li>\u5e76\u53d1\u5173\u6ce8\u4efb\u52a1\u7684\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5e76\u884c\u5173\u6ce8\u4efb\u52a1\u7684\u6267\u884c\u6548\u7387<\/li>\n\n\n\n<li>&#8220;\u5e76\u53d1\u7a0b\u5e8f&#8221;\u53ef\u4ee5\u5728\u5355\u6838\u6216\u591a\u6838\u4e0a\u8fd0\u884c\uff0c&#8221;\u5e76\u884c\u7a0b\u5e8f&#8221;\u53ea\u80fd\u5728\u591a\u6838\u4e0a\u53d1\u6325\u4f18\u52bf<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">268. \u89e3\u91ca\u4e00\u4e0b\u7528\u6237\u6001\u548c\u6838\u5fc3\u6001<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7528\u6237\u6001<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5e94\u7528\u7a0b\u5e8f\u8fd0\u884c\u7684\u6743\u9650\u6a21\u5f0f<\/li>\n\n\n\n<li>\u53ea\u80fd\u6267\u884c\u975e\u7279\u6743\u6307\u4ee4<\/li>\n\n\n\n<li>\u4e0d\u80fd\u76f4\u63a5\u8bbf\u95ee\u786c\u4ef6\u8bbe\u5907<\/li>\n\n\n\n<li>\u5185\u5b58\u8bbf\u95ee\u53d7\u9650\uff08\u53ea\u80fd\u8bbf\u95ee\u7528\u6237\u7a7a\u95f4\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6838\u5fc3\u6001<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u8fd0\u884c\u7684\u6743\u9650\u6a21\u5f0f<\/li>\n\n\n\n<li>\u53ef\u4ee5\u6267\u884c\u6240\u6709\u6307\u4ee4\uff08\u5305\u62ec\u7279\u6743\u6307\u4ee4\uff09<\/li>\n\n\n\n<li>\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\u786c\u4ef6\u8bbe\u5907<\/li>\n\n\n\n<li>\u53ef\u4ee5\u8bbf\u95ee\u6574\u4e2a\u5185\u5b58\u7a7a\u95f4<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5207\u6362\u65f6\u673a<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7cfb\u7edf\u8c03\u7528\uff08\u7528\u6237\u6001 \u2192 \u6838\u5fc3\u6001\uff09<\/li>\n\n\n\n<li>\u4e2d\u65ad\/\u5f02\u5e38\u5904\u7406\uff08\u7528\u6237\u6001 \u2192 \u6838\u5fc3\u6001\uff09<\/li>\n\n\n\n<li>\u8fdb\u7a0b\u8c03\u5ea6\uff08\u6838\u5fc3\u6001 \u2192 \u7528\u6237\u6001\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u76ee\u7684<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4fdd\u62a4\u64cd\u4f5c\u7cfb\u7edf\u514d\u53d7\u5e94\u7528\u7a0b\u5e8f\u9519\u8bef\u5f71\u54cd<\/li>\n\n\n\n<li>\u63d0\u4f9b\u786c\u4ef6\u62bd\u8c61\uff0c\u7b80\u5316\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">269. \u5728\u4ec0\u4e48\u573a\u666f\u4e0b\u7528\u6237\u6001\u548c\u5185\u6838\u6001\u4f1a\u53d1\u751f\u5207\u6362<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7cfb\u7edf\u8c03\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6587\u4ef6\u64cd\u4f5c\uff08open, read, write\uff09<\/li>\n\n\n\n<li>\u8fdb\u7a0b\u63a7\u5236\uff08fork, exec, exit\uff09<\/li>\n\n\n\n<li>\u7f51\u7edc\u901a\u4fe1\uff08socket, send, recv\uff09<\/li>\n\n\n\n<li>\u5185\u5b58\u7ba1\u7406\uff08brk, mmap\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f02\u5e38\u5904\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9664\u96f6\u9519\u8bef\u3001\u9875\u9519\u8bef\u3001\u975e\u6cd5\u6307\u4ee4\u7b49<\/li>\n\n\n\n<li>\u8bbf\u95ee\u65e0\u6548\u5185\u5b58\u5730\u5740<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e2d\u65ad\u5904\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u786c\u4ef6\u4e2d\u65ad\uff08\u65f6\u949f\u4e2d\u65ad\u3001\u952e\u76d8\u8f93\u5165\u3001\u7f51\u7edc\u6570\u636e\u5230\u8fbe\uff09<\/li>\n\n\n\n<li>\u8bbe\u5907I\/O\u5b8c\u6210<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fdb\u7a0b\u8c03\u5ea6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u65f6\u95f4\u7247\u7528\u5b8c\uff0c\u8c03\u5ea6\u5668\u9009\u62e9\u65b0\u8fdb\u7a0b\u8fd0\u884c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6bcf\u6b21\u5207\u6362\u7684\u5f00\u9500<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4fdd\u5b58\/\u6062\u590d\u5bc4\u5b58\u5668\u72b6\u6001<\/li>\n\n\n\n<li>\u5207\u6362\u5806\u6808\u6307\u9488<\/li>\n\n\n\n<li>\u66f4\u65b0\u9875\u8868\u57fa\u5740\u5bc4\u5b58\u5668<\/li>\n\n\n\n<li>\u5237\u65b0TLB\uff08\u5feb\u8868\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">270. \u8fdb\u7a0b\u8c03\u5ea6\u7b97\u6cd5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5148\u6765\u5148\u670d\u52a1<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6309\u5230\u8fbe\u987a\u5e8f\u6392\u961f\u6267\u884c<\/li>\n\n\n\n<li>\u4f18\u70b9\uff1a\u7b80\u5355\u516c\u5e73<\/li>\n\n\n\n<li>\u7f3a\u70b9\uff1a\u5e73\u5747\u7b49\u5f85\u65f6\u95f4\u957f\uff0c\u5bf9\u77ed\u4f5c\u4e1a\u4e0d\u5229<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u77ed\u4f5c\u4e1a\u4f18\u5148<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f18\u5148\u6267\u884c\u4f30\u8ba1\u8fd0\u884c\u65f6\u95f4\u77ed\u7684\u4f5c\u4e1a<\/li>\n\n\n\n<li>\u4f18\u70b9\uff1a\u5e73\u5747\u7b49\u5f85\u65f6\u95f4\u6700\u77ed<\/li>\n\n\n\n<li>\u7f3a\u70b9\uff1a\u53ef\u80fd\u5bfc\u81f4\u957f\u4f5c\u4e1a\u9965\u997f<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f18\u5148\u7ea7\u8c03\u5ea6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u8fdb\u7a0b\u5206\u914d\u4f18\u5148\u7ea7\uff0c\u6309\u4f18\u5148\u7ea7\u8c03\u5ea6<\/li>\n\n\n\n<li>\u53ef\u4ee5\u9759\u6001\u6216\u52a8\u6001\u8c03\u6574\u4f18\u5148\u7ea7<\/li>\n\n\n\n<li>\u95ee\u9898\uff1a\u4f4e\u4f18\u5148\u7ea7\u8fdb\u7a0b\u53ef\u80fd\u9965\u997f<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u65f6\u95f4\u7247\u8f6e\u8f6c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u8fdb\u7a0b\u5206\u914d\u56fa\u5b9a\u65f6\u95f4\u7247\uff0c\u65f6\u95f4\u7247\u7528\u5b8c\u91cd\u65b0\u6392\u961f<\/li>\n\n\n\n<li>\u4f18\u70b9\uff1a\u54cd\u5e94\u6027\u597d\uff0c\u516c\u5e73<\/li>\n\n\n\n<li>\u7f3a\u70b9\uff1a\u65f6\u95f4\u7247\u5927\u5c0f\u5f71\u54cd\u6027\u80fd<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u591a\u7ea7\u53cd\u9988\u961f\u5217<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7efc\u5408\u591a\u79cd\u7b97\u6cd5\u4f18\u70b9<\/li>\n\n\n\n<li>\u591a\u4e2a\u4f18\u5148\u7ea7\u961f\u5217\uff0c\u65f6\u95f4\u7247\u9010\u7ea7\u589e\u52a0<\/li>\n\n\n\n<li>\u65b0\u8fdb\u7a0b\u8fdb\u5165\u6700\u9ad8\u4f18\u5148\u7ea7\u961f\u5217<\/li>\n\n\n\n<li>\u7528\u5b8c\u65f6\u95f4\u7247\u672a\u5b8c\u6210\u5219\u964d\u7ea7<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Linux CFS<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b8c\u5168\u516c\u5e73\u8c03\u5ea6\u5668<\/li>\n\n\n\n<li>\u57fa\u4e8e\u865a\u62df\u8fd0\u884c\u65f6\u95f4\uff0c\u4fdd\u8bc1\u6240\u6709\u8fdb\u7a0b\u516c\u5e73\u83b7\u5f97CPU\u65f6\u95f4<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">271. \u89e3\u91ca\u4e00\u4e0b\u8fdb\u7a0b\u540c\u6b65\u548c\u4e92\u65a5\uff0c\u4ee5\u53ca\u5982\u4f55\u5b9e\u73b0\u8fdb\u7a0b\u540c\u6b65\u548c\u4e92\u65a5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5<\/strong>\uff1a\u4fdd\u8bc1\u591a\u4e2a\u8fdb\u7a0b\/\u7ebf\u7a0b<strong>\u4e0d\u540c\u65f6<\/strong>\u8bbf\u95ee\u5171\u4eab\u8d44\u6e90\n<ul class=\"wp-block-list\">\n<li>\u5982\uff1a\u591a\u4e2a\u7ebf\u7a0b\u4e0d\u80fd\u540c\u65f6\u4fee\u6539\u540c\u4e00\u4e2a\u53d8\u91cf<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u540c\u6b65<\/strong>\uff1a\u63a7\u5236\u8fdb\u7a0b\/\u7ebf\u7a0b\u7684<strong>\u6267\u884c\u987a\u5e8f<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5982\uff1a\u7ebf\u7a0bA\u5fc5\u987b\u5728\u7ebf\u7a0bB\u5b8c\u6210\u540e\u624d\u80fd\u5f00\u59cb<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0\u4e92\u65a5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u8f6f\u4ef6\u65b9\u6cd5<\/strong>\uff1aPeterson\u7b97\u6cd5\u3001Dekker\u7b97\u6cd5\uff08\u5df2\u5f88\u5c11\u4f7f\u7528\uff09<\/li>\n\n\n\n<li><strong>\u786c\u4ef6\u65b9\u6cd5<\/strong>\uff1a\u5173\u4e2d\u65ad\u3001Test-and-Set\u6307\u4ee4\u3001Swap\u6307\u4ee4<\/li>\n\n\n\n<li><strong>\u64cd\u4f5c\u7cfb\u7edf\u63d0\u4f9b<\/strong>\uff1a\u4e92\u65a5\u9501\u3001\u4fe1\u53f7\u91cf<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0\u540c\u6b65<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4fe1\u53f7\u91cf<\/strong>\uff1a\u901a\u8fc7P\/V\u64cd\u4f5c\u63a7\u5236\u6267\u884c\u987a\u5e8f<\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u53d8\u91cf<\/strong>\uff1a\u4e0e\u4e92\u65a5\u9501\u914d\u5408\u4f7f\u7528<\/li>\n\n\n\n<li><strong>\u7ba1\u7a0b<\/strong>\uff1a\u9ad8\u7ea7\u540c\u6b65\u673a\u5236<\/li>\n\n\n\n<li><strong>\u5c4f\u969c<\/strong>\uff1a\u7b49\u5f85\u591a\u4e2a\u7ebf\u7a0b\u5230\u8fbe\u540c\u6b65\u70b9<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u4e92\u65a5\uff1a\u4fdd\u62a4\u5171\u4eab\u8d44\u6e90 std::mutex mtx; int shared_data = 0; void thread_func() { std::lock_guard&lt;std::mutex> lock(mtx); shared_data++; \/\/ \u4e34\u754c\u533a } \/\/ \u540c\u6b65\uff1a\u63a7\u5236\u6267\u884c\u987a\u5e8f std::condition_variable cv; bool ready = false; void worker() { \/\/ \u7b49\u5f85\u4e3b\u7ebf\u7a0b\u901a\u77e5 std::unique_lock&lt;std::mutex> lock(mtx); cv.wait(lock, []{ return ready; }); \/\/ \u6267\u884c\u5de5\u4f5c&#8230; } void master() { \/\/ \u51c6\u5907\u5de5\u4f5c&#8230; { std::lock_guard&lt;std::mutex> lock(mtx); ready = true; } cv.notify_all(); \/\/ \u901a\u77e5\u5de5\u4f5c\u7ebf\u7a0b }<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">272. \u4ec0\u4e48\u662f\u6b7b\u9501\uff0c\u5982\u4f55\u9884\u9632\u6b7b\u9501<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6b7b\u9501<\/strong>\uff1a\u4e24\u4e2a\u6216\u591a\u4e2a\u8fdb\u7a0b\u76f8\u4e92\u7b49\u5f85\u5bf9\u65b9\u6301\u6709\u7684\u8d44\u6e90\uff0c\u5bfc\u81f4\u6240\u6709\u8fdb\u7a0b\u90fd\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c<\/li>\n\n\n\n<li><strong>\u6b7b\u9501\u7684\u5fc5\u8981\u6761\u4ef6<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5<\/strong>\uff1a\u8d44\u6e90\u53ea\u80fd\u72ec\u5360\u4f7f\u7528<\/li>\n\n\n\n<li><strong>\u6301\u6709\u5e76\u7b49\u5f85<\/strong>\uff1a\u8fdb\u7a0b\u6301\u6709\u8d44\u6e90\u7684\u540c\u65f6\u7b49\u5f85\u5176\u4ed6\u8d44\u6e90<\/li>\n\n\n\n<li><strong>\u4e0d\u53ef\u5265\u593a<\/strong>\uff1a\u8d44\u6e90\u53ea\u80fd\u7531\u6301\u6709\u8005\u4e3b\u52a8\u91ca\u653e<\/li>\n\n\n\n<li><strong>\u5faa\u73af\u7b49\u5f85<\/strong>\uff1a\u5b58\u5728\u8fdb\u7a0b-\u8d44\u6e90\u7684\u5faa\u73af\u7b49\u5f85\u94fe<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u6b7b\u9501\u9884\u9632<\/strong>\uff08\u7834\u574f\u5fc5\u8981\u6761\u4ef6\uff09\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7834\u574f\u4e92\u65a5<\/strong>\uff1a\u8ba9\u8d44\u6e90\u53ef\u5171\u4eab\uff08\u5982\u53ea\u8bfb\u8d44\u6e90\uff09<\/li>\n\n\n\n<li><strong>\u7834\u574f\u6301\u6709\u5e76\u7b49\u5f85<\/strong>\uff1a\u4e00\u6b21\u6027\u7533\u8bf7\u6240\u6709\u6240\u9700\u8d44\u6e90<\/li>\n\n\n\n<li><strong>\u7834\u574f\u4e0d\u53ef\u5265\u593a<\/strong>\uff1a\u5141\u8bb8\u5f3a\u5236\u5265\u593a\u8d44\u6e90\uff08\u56de\u6eda\u64cd\u4f5c\uff09<\/li>\n\n\n\n<li><strong>\u7834\u574f\u5faa\u73af\u7b49\u5f85<\/strong>\uff1a\u6309\u56fa\u5b9a\u987a\u5e8f\u7533\u8bf7\u8d44\u6e90<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u6b7b\u9501\u907f\u514d<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u94f6\u884c\u5bb6\u7b97\u6cd5<\/strong>\uff1a\u7cfb\u7edf\u8fdb\u884c\u5b89\u5168\u6027\u68c0\u67e5\uff0c\u53ea\u5728\u5b89\u5168\u72b6\u6001\u4e0b\u5206\u914d\u8d44\u6e90<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5b9e\u9645\u5f00\u53d1\u4e2d\u7684\u5efa\u8bae<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u6309\u56fa\u5b9a\u987a\u5e8f\u83b7\u53d6\u9501<\/li>\n\n\n\n<li>\u4f7f\u7528\u8d85\u65f6\u673a\u5236\uff08\u5982<code>try_lock<\/code>\uff09<\/li>\n\n\n\n<li>\u907f\u514d\u5d4c\u5957\u9501<\/li>\n\n\n\n<li>\u4f7f\u7528RAII\u7ba1\u7406\u9501\u8d44\u6e90<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">273. \u8bb2\u4e00\u8bb2\u4f60\u7406\u89e3\u7684\u865a\u62df\u5185\u5b58<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u865a\u62df\u5185\u5b58<\/strong>\uff1a\u4e3a\u6bcf\u4e2a\u8fdb\u7a0b\u63d0\u4f9b\u7684\u72ec\u7acb\u3001\u8fde\u7eed\u7684\u5730\u5740\u7a7a\u95f4\u62bd\u8c61<\/li>\n\n\n\n<li><strong>\u6838\u5fc3\u601d\u60f3<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5730\u5740\u7a7a\u95f4\u5206\u79bb<\/strong>\uff1a\u6bcf\u4e2a\u8fdb\u7a0b\u6709\u81ea\u5df1\u7684\u865a\u62df\u5730\u5740\u7a7a\u95f4<\/li>\n\n\n\n<li><strong>\u5206\u9875\u673a\u5236<\/strong>\uff1a\u865a\u62df\u5730\u5740\u901a\u8fc7\u9875\u8868\u6620\u5c04\u5230\u7269\u7406\u5730\u5740<\/li>\n\n\n\n<li><strong>\u6309\u9700\u8c03\u9875<\/strong>\uff1a\u53ea\u6709\u5b9e\u9645\u8bbf\u95ee\u7684\u9875\u9762\u624d\u52a0\u8f7d\u5230\u5185\u5b58<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7ec4\u6210\u90e8\u5206<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u9875\u8868<\/strong>\uff1a\u5b58\u50a8\u865a\u62df\u9875\u5230\u7269\u7406\u9875\u5e27\u7684\u6620\u5c04<\/li>\n\n\n\n<li><strong>MMU<\/strong>\uff1a\u5185\u5b58\u7ba1\u7406\u5355\u5143\uff0c\u8d1f\u8d23\u5730\u5740\u8f6c\u6362<\/li>\n\n\n\n<li><strong>TLB<\/strong>\uff1a\u5feb\u8868\uff0c\u7f13\u5b58\u5e38\u7528\u9875\u8868\u9879<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u6d41\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>CPU\u53d1\u51fa\u865a\u62df\u5730\u5740<\/li>\n\n\n\n<li>MMU\u67e5\u8be2TLB\u83b7\u53d6\u7269\u7406\u5730\u5740<\/li>\n\n\n\n<li>TLB\u672a\u547d\u4e2d\u65f6\u67e5\u8be2\u9875\u8868<\/li>\n\n\n\n<li>\u9875\u8868\u9879\u6709\u6548\u5219\u5b8c\u6210\u5730\u5740\u8f6c\u6362<\/li>\n\n\n\n<li>\u9875\u8868\u9879\u65e0\u6548\u5219\u89e6\u53d1\u9875\u9519\u8bef\uff0c\u64cd\u4f5c\u7cfb\u7edf\u5904\u7406<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u7b80\u5316\u5185\u5b58\u7ba1\u7406\uff08\u6bcf\u4e2a\u8fdb\u7a0b\u6709\u72ec\u7acb\u5730\u5740\u7a7a\u95f4\uff09<\/li>\n\n\n\n<li>\u63d0\u4f9b\u5185\u5b58\u4fdd\u62a4\uff08\u8fdb\u7a0b\u95f4\u9694\u79bb\uff09<\/li>\n\n\n\n<li>\u5141\u8bb8\u8fd0\u884c\u6bd4\u7269\u7406\u5185\u5b58\u5927\u7684\u7a0b\u5e8f<\/li>\n\n\n\n<li>\u652f\u6301\u5171\u4eab\u5185\u5b58\uff08\u591a\u4e2a\u8fdb\u7a0b\u6620\u5c04\u5230\u540c\u4e00\u7269\u7406\u9875\uff09<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">274. \u7ebf\u7a0b\u7684\u540c\u6b65\u7684\u65b9\u5f0f\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5\u9501<\/strong>\uff1a\u6700\u57fa\u672c\u7684\u540c\u6b65\u673a\u5236cpp\u590d\u5236\u4e0b\u8f7dstd::mutex mtx; mtx.lock(); \/\/ \u4e34\u754c\u533a mtx.unlock();<\/li>\n\n\n\n<li><strong>\u8bfb\u5199\u9501<\/strong>\uff1a\u8bfb\u591a\u5199\u5c11\u7684\u573a\u666fcpp\u590d\u5236\u4e0b\u8f7dstd::shared_mutex rw_lock; \/\/ \u8bfb\u53d6\uff08\u5171\u4eab\u9501\uff09 std::shared_lock lock(rw_lock); \/\/ \u5199\u5165\uff08\u72ec\u5360\u9501\uff09 std::unique_lock lock(rw_lock);<\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u53d8\u91cf<\/strong>\uff1a\u7ebf\u7a0b\u95f4\u901a\u4fe1\u548c\u534f\u8c03cpp\u590d\u5236\u4e0b\u8f7dstd::condition_variable cv; cv.wait(lock, predicate); \/\/ \u7b49\u5f85\u6761\u4ef6\u6ee1\u8db3 cv.notify_one(); \/\/ \u901a\u77e5\u4e00\u4e2a\u7b49\u5f85\u7ebf\u7a0b<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u91cf<\/strong>\uff1a\u63a7\u5236\u5bf9\u591a\u4e2a\u8d44\u6e90\u7684\u8bbf\u95eecpp\u590d\u5236\u4e0b\u8f7dstd::counting_semaphore&lt;10> sem; \/\/ C++20 sem.acquire(); \/\/ P\u64cd\u4f5c sem.release(); \/\/ V\u64cd\u4f5c<\/li>\n\n\n\n<li><strong>\u5c4f\u969c<\/strong>\uff1a\u540c\u6b65\u591a\u4e2a\u7ebf\u7a0b\u5230\u8fbe\u67d0\u4e00\u70b9cpp\u590d\u5236\u4e0b\u8f7dstd::barrier sync_point(4); \/\/ \u7b49\u5f854\u4e2a\u7ebf\u7a0b sync_point.arrive_and_wait(); \/\/ \u5230\u8fbe\u5c4f\u969c\u70b9<\/li>\n\n\n\n<li><strong>\u539f\u5b50\u64cd\u4f5c<\/strong>\uff1a\u65e0\u9501\u7f16\u7a0bcpp\u590d\u5236\u4e0b\u8f7dstd::atomic&lt;int> counter(0); counter.fetch_add(1);<\/li>\n\n\n\n<li><strong>\u81ea\u65cb\u9501<\/strong>\uff1a\u5fd9\u7b49\u5f85\u7684\u9501\uff0c\u9002\u7528\u4e8e\u4e34\u754c\u533a\u5f88\u77ed\u7684\u60c5\u51b5<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">275. \u4ecb\u7ecd\u4e00\u4e0b\u51e0\u79cd\u5178\u578b\u7684\u9501<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5\u9501<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6700\u57fa\u672c\u7684\u9501\uff0c\u4fdd\u8bc1\u4e92\u65a5\u8bbf\u95ee<\/li>\n\n\n\n<li>\u7ebf\u7a0b\u83b7\u53d6\u9501\u5931\u8d25\u65f6\u4f1a\u963b\u585e<\/li>\n\n\n\n<li>\u5b9e\u73b0\u7b80\u5355\uff0c\u4f46\u53ef\u80fd\u5f15\u8d77\u6b7b\u9501<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8bfb\u5199\u9501<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5141\u8bb8\u591a\u4e2a\u8bfb\u7ebf\u7a0b\u540c\u65f6\u8bbf\u95ee<\/li>\n\n\n\n<li>\u5199\u7ebf\u7a0b\u72ec\u5360\u8bbf\u95ee<\/li>\n\n\n\n<li>\u9002\u5408\u8bfb\u591a\u5199\u5c11\u7684\u573a\u666f<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u81ea\u65cb\u9501<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u83b7\u53d6\u9501\u5931\u8d25\u65f6\u5fd9\u7b49\u5f85\uff08\u5faa\u73af\u68c0\u67e5\uff09<\/li>\n\n\n\n<li>\u907f\u514d\u7ebf\u7a0b\u5207\u6362\u5f00\u9500\uff0c\u4f46\u6d6a\u8d39CPU<\/li>\n\n\n\n<li>\u9002\u5408\u4e34\u754c\u533a\u5f88\u77ed\u7684\u60c5\u51b5<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9012\u5f52\u9501<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5141\u8bb8\u540c\u4e00\u7ebf\u7a0b\u591a\u6b21\u83b7\u53d6\u540c\u4e00\u628a\u9501<\/li>\n\n\n\n<li>\u907f\u514d\u81ea\u6b7b\u9501\uff08\u540c\u4e00\u7ebf\u7a0b\u91cd\u590d\u52a0\u9501\uff09<\/li>\n\n\n\n<li>\u9700\u8981\u8bb0\u5f55\u6301\u6709\u8005\u548c\u52a0\u9501\u6b21\u6570<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6761\u4ef6\u53d8\u91cf<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4e0d\u662f\u771f\u6b63\u7684\u9501\uff0c\u7528\u4e8e\u7ebf\u7a0b\u95f4\u901a\u4fe1<\/li>\n\n\n\n<li>\u4e0e\u4e92\u65a5\u9501\u914d\u5408\u4f7f\u7528\uff0c\u5b9e\u73b0\u590d\u6742\u7684\u540c\u6b65\u903b\u8f91<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6587\u4ef6\u9501<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7528\u4e8e\u8fdb\u7a0b\u95f4\u540c\u6b65\uff0c\u901a\u8fc7\u6587\u4ef6\u7cfb\u7edf\u5b9e\u73b0<\/li>\n\n\n\n<li><code>flock()<\/code>\uff1a\u529d\u544a\u9501<\/li>\n\n\n\n<li><code>fcntl()<\/code>\uff1a\u5f3a\u5236\u9501\uff08\u67d0\u4e9b\u7cfb\u7edf\u652f\u6301\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">276. \u6709\u54ea\u4e9b\u9875\u9762\u7f6e\u6362\u7b97\u6cd5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OPT<\/strong>\uff1a\u7406\u60f3\u7b97\u6cd5\uff0c\u6dd8\u6c70\u672a\u6765\u6700\u957f\u65f6\u95f4\u4e0d\u88ab\u8bbf\u95ee\u7684\u9875\u9762\n<ul class=\"wp-block-list\">\n<li>\u7406\u8bba\u4e0a\u6700\u4f18\uff0c\u4f46\u65e0\u6cd5\u5b9e\u73b0\uff08\u9700\u8981\u9884\u77e5\u672a\u6765\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>FIFO<\/strong>\uff1a\u5148\u8fdb\u5148\u51fa\uff0c\u6dd8\u6c70\u6700\u65e9\u8fdb\u5165\u7684\u9875\u9762\n<ul class=\"wp-block-list\">\n<li>\u5b9e\u73b0\u7b80\u5355\uff0c\u4f46\u6027\u80fd\u5dee\uff08Belady\u5f02\u5e38\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>LRU<\/strong>\uff1a\u6700\u8fd1\u6700\u4e45\u672a\u4f7f\u7528\uff0c\u6dd8\u6c70\u6700\u957f\u65f6\u95f4\u672a\u88ab\u8bbf\u95ee\u7684\u9875\u9762\n<ul class=\"wp-block-list\">\n<li>\u6027\u80fd\u63a5\u8fd1OPT\uff0c\u4f46\u5b9e\u73b0\u590d\u6742<\/li>\n\n\n\n<li>\u9700\u8981\u8bb0\u5f55\u9875\u9762\u8bbf\u95ee\u65f6\u95f4\u6233\u6216\u4f7f\u7528\u7279\u6b8a\u786c\u4ef6\u652f\u6301<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Clock<\/strong>\uff1a\u65f6\u949f\u7b97\u6cd5\uff0cLRU\u7684\u8fd1\u4f3c\u5b9e\u73b0\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u9875\u9762\u6709\u4e00\u4e2a\u8bbf\u95ee\u4f4d\uff0c\u6307\u9488\u5faa\u73af\u626b\u63cf<\/li>\n\n\n\n<li>\u8bbf\u95ee\u4f4d\u4e3a1\u65f6\u6e050\u5e76\u7ee7\u7eed\uff0c\u4e3a0\u65f6\u6dd8\u6c70<\/li>\n\n\n\n<li>\u5b9e\u73b0\u76f8\u5bf9\u7b80\u5355\uff0c\u6027\u80fd\u8f83\u597d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>LFU<\/strong>\uff1a\u6700\u4e0d\u7ecf\u5e38\u4f7f\u7528\uff0c\u6dd8\u6c70\u8bbf\u95ee\u9891\u7387\u6700\u4f4e\u7684\u9875\u9762\n<ul class=\"wp-block-list\">\n<li>\u9700\u8981\u7ef4\u62a4\u8bbf\u95ee\u9891\u7387\u8ba1\u6570\u5668<\/li>\n\n\n\n<li>\u53ef\u80fd\u6dd8\u6c70\u6700\u8fd1\u9891\u7e41\u8bbf\u95ee\u4f46\u603b\u4f53\u9891\u7387\u4e0d\u9ad8\u7684\u9875\u9762<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u96c6\u6a21\u578b<\/strong>\uff1a\u57fa\u4e8e\u5c40\u90e8\u6027\u539f\u7406\uff0c\u4fdd\u7559\u5f53\u524d\u5de5\u4f5c\u96c6\u9875\u9762<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">277. \u6570\u636e\u7ed3\u6784\u7684\u57fa\u672c\u64cd\u4f5c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u4e0d\u540c\u6570\u636e\u7ed3\u6784\u652f\u6301\u7684\u57fa\u672c\u64cd\u4f5c\u4e0d\u540c\uff0c\u4f46\u901a\u5e38\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ebf\u6027\u7ed3\u6784<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6570\u7ec4<\/strong>\uff1a\u968f\u673a\u8bbf\u95ee\u3001\u63d2\u5165\u3001\u5220\u9664<\/li>\n\n\n\n<li><strong>\u94fe\u8868<\/strong>\uff1a\u63d2\u5165\u3001\u5220\u9664\u3001\u904d\u5386<\/li>\n\n\n\n<li><strong>\u6808<\/strong>\uff1apush\u3001pop\u3001peek<\/li>\n\n\n\n<li><strong>\u961f\u5217<\/strong>\uff1aenqueue\u3001dequeue\u3001peek<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6811\u5f62\u7ed3\u6784<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4e8c\u53c9\u6811<\/strong>\uff1a\u63d2\u5165\u3001\u5220\u9664\u3001\u67e5\u627e\u3001\u904d\u5386\uff08\u524d\u5e8f\u3001\u4e2d\u5e8f\u3001\u540e\u5e8f\uff09<\/li>\n\n\n\n<li><strong>\u5806<\/strong>\uff1a\u63d2\u5165\u3001\u5220\u9664\u5806\u9876\u3001\u5806\u5316<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u56fe\u7ed3\u6784<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u904d\u5386<\/strong>\uff1a\u6df1\u5ea6\u4f18\u5148\u641c\u7d22\u3001\u5e7f\u5ea6\u4f18\u5148\u641c\u7d22<\/li>\n\n\n\n<li><strong>\u6700\u77ed\u8def\u5f84<\/strong>\uff1aDijkstra\u3001Floyd\u7b97\u6cd5<\/li>\n\n\n\n<li><strong>\u6700\u5c0f\u751f\u6210\u6811<\/strong>\uff1aPrim\u3001Kruskal\u7b97\u6cd5<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u54c8\u5e0c\u7ed3\u6784<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u63d2\u5165<\/strong>\u3001<strong>\u67e5\u627e<\/strong>\u3001<strong>\u5220\u9664<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u901a\u7528\u64cd\u4f5c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u521b\u5efa<\/strong>\u3001<strong>\u9500\u6bc1<\/strong>\u3001<strong>\u6e05\u7a7a<\/strong><\/li>\n\n\n\n<li><strong>\u5224\u65ad\u7a7a<\/strong>\u3001<strong>\u83b7\u53d6\u5927\u5c0f<\/strong><\/li>\n\n\n\n<li><strong>\u904d\u5386<\/strong>\u3001<strong>\u67e5\u627e<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">278. \u64cd\u4f5c\u7cfb\u7edf\u5728\u8fdb\u884c\u7ebf\/\u8fdb\u7a0b\u5207\u6362\u65f6\u9700\u8981\u8fdb\u884c\u54ea\u4e9b\u52a8\u4f5c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7ebf\u7a0b\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4fdd\u5b58\u4e0a\u4e0b\u6587<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u4fdd\u5b58\u901a\u7528\u5bc4\u5b58\u5668\u503c<\/li>\n\n\n\n<li>\u4fdd\u5b58\u7a0b\u5e8f\u8ba1\u6570\u5668\uff08PC\uff09<\/li>\n\n\n\n<li>\u4fdd\u5b58\u6808\u6307\u9488\uff08SP\uff09<\/li>\n\n\n\n<li>\u4fdd\u5b58\u7a0b\u5e8f\u72b6\u6001\u5b57\uff08PSW\uff09<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u66f4\u65b0\u8c03\u5ea6\u4fe1\u606f<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u66f4\u65b0\u5f53\u524d\u8fd0\u884c\u7ebf\u7a0b\u7684\u72b6\u6001\uff08\u8fd0\u884c\u2192\u5c31\u7eea\/\u963b\u585e\uff09<\/li>\n\n\n\n<li>\u5c06\u7ebf\u7a0b\u63a7\u5236\u5757\u52a0\u5165\u76f8\u5e94\u961f\u5217<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u9009\u62e9\u65b0\u7ebf\u7a0b<\/strong>\uff08<strong><em>\u5207\u6362\u5730\u5740\u7a7a\u95f4<\/em><\/strong>\uff09\uff1a\u5207\u6362\u5730\u5740\u7a7a\u95f4\u662f\u7ebf\u7a0b\u548c\u8fdb\u7a0b\u5207\u6362\u65f6\u7684\u6700\u5927\u533a\u522b\n<ol class=\"wp-block-list\">\n<li>\u6839\u636e\u8c03\u5ea6\u7b97\u6cd5\u9009\u62e9\u4e0b\u4e00\u4e2a\u8981\u8fd0\u884c\u7684\u7ebf\u7a0b<\/li>\n\n\n\n<li>\u66f4\u65b0\u7ebf\u7a0b\u72b6\u6001\uff08\u5c31\u7eea\u2192\u8fd0\u884c\uff09<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u6062\u590d\u4e0a\u4e0b\u6587<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u6062\u590d\u65b0\u7ebf\u7a0b\u7684\u5bc4\u5b58\u5668\u503c<\/li>\n\n\n\n<li>\u6062\u590d\u7a0b\u5e8f\u8ba1\u6570\u5668<\/li>\n\n\n\n<li>\u6062\u590d\u6808\u6307\u9488<\/li>\n\n\n\n<li>\u6062\u590d\u7a0b\u5e8f\u72b6\u6001\u5b570<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u66f4\u65b0\u5185\u5b58\u7ba1\u7406<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5207\u6362\u9875\u8868\uff08\u5982\u679c\u65b0\u7ebf\u7a0b\u5c5e\u4e8e\u4e0d\u540c\u8fdb\u7a0b\uff09<\/li>\n\n\n\n<li>\u5237\u65b0TLB\uff08\u5feb\u8868\uff09<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5207\u6362\u5f00\u9500<\/strong>\uff1a\u4e3b\u8981\u662f\u4fdd\u5b58\/\u6062\u590d\u4e0a\u4e0b\u6587\u548c\u66f4\u65b0MMU\u7684\u5f00\u9500<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">279. \u4ec0\u4e48\u662f\u8f6f\u4e2d\u65ad\uff0c\u4ec0\u4e48\u8fd8\u786c\u4e2d\u65ad<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u786c\u4e2d\u65ad<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7531\u786c\u4ef6\u8bbe\u5907\u4ea7\u751f\uff08\u5982\u952e\u76d8\u3001\u9f20\u6807\u3001\u7f51\u5361\uff09<\/li>\n\n\n\n<li>\u5f02\u6b65\u4e8b\u4ef6\uff0c\u4e0eCPU\u5f53\u524d\u6267\u884c\u65e0\u5173<\/li>\n\n\n\n<li>\u901a\u8fc7\u4e2d\u65ad\u63a7\u5236\u5668\u901a\u77e5CPU<\/li>\n\n\n\n<li>\u5904\u7406\u8fc7\u7a0b\uff1a\u4fdd\u5b58\u4e0a\u4e0b\u6587\u2192\u6267\u884c\u4e2d\u65ad\u5904\u7406\u7a0b\u5e8f\u2192\u6062\u590d\u4e0a\u4e0b\u6587<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8f6f\u4e2d\u65ad<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7531\u8f6f\u4ef6\u6307\u4ee4\u4ea7\u751f\uff08\u5982\u7cfb\u7edf\u8c03\u7528\u3001\u5f02\u5e38\uff09<\/li>\n\n\n\n<li>\u540c\u6b65\u4e8b\u4ef6\uff0c\u7531\u5f53\u524d\u6267\u884c\u7684\u6307\u4ee4\u89e6\u53d1<\/li>\n\n\n\n<li>\u5305\u62ec\uff1a\u9677\u9631\uff08trap\uff09\u3001\u6545\u969c\uff08fault\uff09\u3001\u4e2d\u6b62\uff08abort\uff09<\/li>\n\n\n\n<li>\u5904\u7406\u8fc7\u7a0b\u7c7b\u4f3c\u786c\u4e2d\u65ad\uff0c\u4f46\u89e6\u53d1\u65b9\u5f0f\u4e0d\u540c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e3b\u8981\u533a\u522b<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u786c\u4e2d\u65ad<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u8f6f\u4e2d\u65ad<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u89e6\u53d1\u6e90<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u786c\u4ef6\u8bbe\u5907<\/td><td class=\"has-text-align-left\" data-align=\"left\">CPU\u6267\u884c\u6307\u4ee4<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u65f6\u673a<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5f02\u6b65<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u540c\u6b65<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u54cd\u5e94<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u5c4f\u853d<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u53ef\u5c4f\u853d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f8b\u5b50<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65f6\u949f\u4e2d\u65ad\u3001I\/O\u5b8c\u6210<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9664\u96f6\u9519\u8bef\u3001\u9875\u9519\u8bef\u3001\u7cfb\u7edf\u8c03\u7528<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">280. \u4ec0\u4e48\u662f\u5206\u9875\uff0c\u4ec0\u4e48\u662f\u5206\u6bb5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5206\u9875<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5c06\u865a\u62df\u5730\u5740\u7a7a\u95f4\u5212\u5206\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684\u9875\uff08\u901a\u5e384KB\uff09<\/li>\n\n\n\n<li>\u5c06\u7269\u7406\u5185\u5b58\u5212\u5206\u4e3a\u76f8\u540c\u5927\u5c0f\u7684\u9875\u5e27<\/li>\n\n\n\n<li>\u901a\u8fc7\u9875\u8868\u5efa\u7acb\u865a\u62df\u9875\u5230\u7269\u7406\u9875\u5e27\u7684\u6620\u5c04<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u7b80\u5355\u9ad8\u6548\uff0c\u907f\u514d\u5916\u90e8\u788e\u7247<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u4e00\u7ef4\u5730\u5740\u7a7a\u95f4\uff0c\u4e0d\u7b26\u5408\u7a0b\u5e8f\u903b\u8f91\u7ed3\u6784<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5206\u6bb5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6309\u903b\u8f91\u5355\u5143\u5212\u5206\u5730\u5740\u7a7a\u95f4\uff08\u4ee3\u7801\u6bb5\u3001\u6570\u636e\u6bb5\u3001\u5806\u6808\u6bb5\uff09<\/li>\n\n\n\n<li>\u6bcf\u4e2a\u6bb5\u6709\u4e0d\u540c\u5927\u5c0f\u548c\u5c5e\u6027<\/li>\n\n\n\n<li>\u901a\u8fc7\u6bb5\u8868\u5efa\u7acb\u903b\u8f91\u6bb5\u5230\u7269\u7406\u5185\u5b58\u7684\u6620\u5c04<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u7b26\u5408\u7a0b\u5e8f\u7ed3\u6784\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u4fdd\u62a4\u548c\u5171\u4eab<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u4ea7\u751f\u5916\u90e8\u788e\u7247\uff0c\u7ba1\u7406\u590d\u6742<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6bb5\u9875\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7ed3\u5408\u5206\u6bb5\u548c\u5206\u9875\u7684\u4f18\u70b9<\/li>\n\n\n\n<li>\u5148\u5206\u6bb5\uff0c\u6bb5\u5185\u518d\u5206\u9875<\/li>\n\n\n\n<li>\u65e2\u7b26\u5408\u7a0b\u5e8f\u903b\u8f91\u7ed3\u6784\uff0c\u53c8\u907f\u514d\u5916\u90e8\u788e\u7247<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">281. CPU\u4f7f\u7528\u7387\u548cCPU\u8d1f\u8f7d\u662f\u6307\u4ec0\u4e48\uff0c\u5b83\u4eec\u4e4b\u95f4\u6709\u4ec0\u4e48\u5173\u7cfb<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CPU\u4f7f\u7528\u7387<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4e00\u6bb5\u65f6\u95f4\u5185CPU\u5fd9\u4e8e\u6267\u884c\u4efb\u52a1\u7684\u65f6\u95f4\u6bd4\u4f8b<\/li>\n\n\n\n<li>\u5982\uff1a70%\u4f7f\u7528\u7387\u8868\u793a70%\u65f6\u95f4\u5728\u6267\u884c\u4efb\u52a1\uff0c30%\u7a7a\u95f2<\/li>\n\n\n\n<li>\u53cd\u6620CPU\u7684\u7e41\u5fd9\u7a0b\u5ea6<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>CPU\u8d1f\u8f7d<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5355\u4f4d\u65f6\u95f4\u5185\u8fd0\u884c\u961f\u5217\u4e2d\u7684\u5e73\u5747\u8fdb\u7a0b\u6570<\/li>\n\n\n\n<li>\u5305\u62ec\u6b63\u5728\u8fd0\u884c\u7684\u8fdb\u7a0b\u548c\u7b49\u5f85\u8fd0\u884c\u7684\u8fdb\u7a0b<\/li>\n\n\n\n<li>\u5982\uff1a\u8d1f\u8f7d1.5\u8868\u793a\u5e73\u5747\u67091.5\u4e2a\u8fdb\u7a0b\u5728\u7ade\u4e89CPU<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u7cfb<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6982\u5ff5\u4e0d\u540c<\/strong>\uff1a\u4f7f\u7528\u7387\u5173\u6ce8CPU\u65f6\u95f4\u5206\u914d\uff0c\u8d1f\u8f7d\u5173\u6ce8\u4efb\u52a1\u6392\u961f\u60c5\u51b5<\/li>\n\n\n\n<li><strong>\u6570\u503c\u610f\u4e49<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u73870%-100%\uff0c\u8868\u793a\u7e41\u5fd9\u7a0b\u5ea6<\/li>\n\n\n\n<li>\u8d1f\u8f7d\u53ef\u4ee5\u5927\u4e8e1\uff0c\u8868\u793a\u7cfb\u7edf\u8fc7\u8f7d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u8054\u6027<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9ad8\u4f7f\u7528\u7387\u901a\u5e38\u4f34\u968f\u9ad8\u8d1f\u8f7d\uff0c\u4f46\u4e0d\u7b49\u540c<\/li>\n\n\n\n<li>I\u5bc6\u96c6\u578b\u4efb\u52a1\uff1a\u9ad8\u4f7f\u7528\u7387\uff0c\u9ad8\u8d1f\u8f7d<\/li>\n\n\n\n<li>I\/O\u5bc6\u96c6\u578b\u4efb\u52a1\uff1a\u53ef\u80fd\u4f4e\u4f7f\u7528\u7387\u4f46\u9ad8\u8d1f\u8f7d\uff08\u8fdb\u7a0b\u7b49\u5f85I\/O\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u76d1\u63a7\u547d\u4ee4<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>top<\/code>\u3001<code>htop<\/code>\uff1a\u67e5\u770b\u5b9e\u65f6\u4f7f\u7528\u7387\u548c\u8d1f\u8f7d<\/li>\n\n\n\n<li><code>uptime<\/code>\uff1a\u67e5\u770b1\u30015\u300115\u5206\u949f\u5e73\u5747\u8d1f\u8f7d<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">282. \u4e3a\u4ec0\u4e48\u7f51\u7edcIO\u4f1a\u88ab\u963b\u585e<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u963b\u585e\u7684\u672c\u8d28<\/strong>\uff1a\u7b49\u5f85\u67d0\u4e2a\u6761\u4ef6\u6ee1\u8db3\uff08\u5982\u6570\u636e\u5230\u8fbe\u3001\u8fde\u63a5\u5efa\u7acb\uff09<\/li>\n\n\n\n<li><strong>\u7f51\u7edcI\/O\u963b\u585e\u7684\u5177\u4f53\u539f\u56e0<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u672a\u5c31\u7eea<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8bfb\u53d6\u65f6\uff1a\u63a5\u6536\u7f13\u51b2\u533a\u6ca1\u6709\u6570\u636e<\/li>\n\n\n\n<li>\u5199\u5165\u65f6\uff1a\u53d1\u9001\u7f13\u51b2\u533a\u5df2\u6ee1<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\u5ef6\u8fdf<\/strong>\uff1a\u6570\u636e\u5728\u7f51\u7edc\u4f20\u8f93\u4e2d\u9700\u8981\u65f6\u95f4<\/li>\n\n\n\n<li><strong>\u5bf9\u7aef\u5904\u7406\u6162<\/strong>\uff1a\u5bf9\u7aef\u5e94\u7528\u7a0b\u5e8f\u5904\u7406\u901f\u5ea6\u6162<\/li>\n\n\n\n<li><strong>\u8fde\u63a5\u5efa\u7acb<\/strong>\uff1aTCP\u4e09\u6b21\u63e1\u624b\u9700\u8981\u65f6\u95f4<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u963b\u585e\u7684\u5c42\u6b21<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u5e94\u7528\u5c42\u963b\u585e<\/strong>\uff1a\u8c03\u7528<code>read()<\/code>\/<code>write()<\/code>\u65f6\u963b\u585e<\/li>\n\n\n\n<li><strong>\u5185\u6838\u5c42\u963b\u585e<\/strong>\uff1a\u6570\u636e\u5728\u5185\u6838\u7f13\u51b2\u533a\u672a\u5c31\u7eea<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\u5c42\u963b\u585e<\/strong>\uff1a\u6570\u636e\u5305\u5728\u7f51\u7edc\u4e2d\u4f20\u8f93<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u975e\u963b\u585eI\/O<\/strong>\uff1a\u7acb\u5373\u8fd4\u56de\uff0c\u9700\u8981\u8f6e\u8be2\u68c0\u67e5<\/li>\n\n\n\n<li><strong>I\/O\u591a\u8def\u590d\u7528<\/strong>\uff1a<code>select<\/code>\/<code>poll<\/code>\/<code>epoll<\/code>\uff0c\u540c\u65f6\u76d1\u63a7\u591a\u4e2asocket<\/li>\n\n\n\n<li><strong>\u5f02\u6b65I\/O<\/strong>\uff1a\u53d1\u8d77I\/O\u64cd\u4f5c\u540e\u7acb\u5373\u8fd4\u56de\uff0c\u5b8c\u6210\u540e\u901a\u77e5<\/li>\n\n\n\n<li><strong>\u591a\u7ebf\u7a0b\/\u591a\u8fdb\u7a0b<\/strong>\uff1a\u6bcf\u4e2a\u8fde\u63a5\u4e00\u4e2a\u7ebf\u7a0b\uff0c\u963b\u585e\u4e0d\u5f71\u54cd\u5176\u4ed6\u8fde\u63a5<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">283. IO\u6a21\u578b\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u963b\u585eI\/O<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528I\/O\u51fd\u6570\u65f6\u7ebf\u7a0b\u963b\u585e\uff0c\u76f4\u5230\u64cd\u4f5c\u5b8c\u6210<\/li>\n\n\n\n<li>\u6700\u7b80\u5355\uff0c\u4f46\u6548\u7387\u4f4e\uff08\u4e00\u4e2a\u7ebf\u7a0b\u53ea\u80fd\u5904\u7406\u4e00\u4e2a\u8fde\u63a5\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u975e\u963b\u585eI\/O<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528I\/O\u51fd\u6570\u65f6\u7acb\u5373\u8fd4\u56de\uff0c\u9700\u8981\u8f6e\u8be2\u68c0\u67e5\u662f\u5426\u5b8c\u6210<\/li>\n\n\n\n<li>\u907f\u514d\u7ebf\u7a0b\u963b\u585e\uff0c\u4f46\u8f6e\u8be2\u6d88\u8017CPU<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>I\/O\u591a\u8def\u590d\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>select<\/code>\/<code>poll<\/code>\/<code>epoll<\/code>\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u6587\u4ef6\u63cf\u8ff0\u7b26<\/li>\n\n\n\n<li>\u5355\u4e2a\u7ebf\u7a0b\u53ef\u4ee5\u5904\u7406\u591a\u4e2a\u8fde\u63a5<\/li>\n\n\n\n<li>Linux\u4e0b<code>epoll<\/code>\u6027\u80fd\u6700\u597d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4fe1\u53f7\u9a71\u52a8I\/O<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6ce8\u518c\u4fe1\u53f7\u5904\u7406\u51fd\u6570\uff0c\u6570\u636e\u5c31\u7eea\u65f6\u901a\u8fc7\u4fe1\u53f7\u901a\u77e5<\/li>\n\n\n\n<li>\u5b9e\u9645\u5e94\u7528\u8f83\u5c11<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f02\u6b65I\/O<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u53d1\u8d77I\/O\u64cd\u4f5c\u540e\u7acb\u5373\u8fd4\u56de\uff0c\u64cd\u4f5c\u5b8c\u6210\u540e\u7531\u7cfb\u7edf\u901a\u77e5<\/li>\n\n\n\n<li>\u771f\u6b63\u7684\u5f02\u6b65\uff0c\u4f46\u5b9e\u73b0\u590d\u6742<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5bf9\u6bd4<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u6a21\u578b<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u963b\u585e\u9636\u6bb5<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u901a\u77e5\u65b9\u5f0f<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u6548\u7387<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u963b\u585eI\/O<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7b49\u5f85\u6570\u636e\u3001\u62f7\u8d1d\u6570\u636e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u901a\u77e5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f4e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u975e\u963b\u585eI\/O<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u62f7\u8d1d\u6570\u636e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f6e\u8be2\u68c0\u67e5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e2d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>I\/O\u591a\u8def\u590d\u7528<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u62f7\u8d1d\u6570\u636e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5c31\u7eea\u4e8b\u4ef6<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9ad8<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f02\u6b65I\/O<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u963b\u585e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b8c\u6210\u901a\u77e5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6700\u9ad8<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">284. \u540c\u6b65\u548c\u5f02\u6b65\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u540c\u6b65I\/O<\/strong>\uff1a\u8c03\u7528\u8005<strong>\u4e3b\u52a8\u7b49\u5f85<\/strong>I\/O\u64cd\u4f5c\u5b8c\u6210\n<ul class=\"wp-block-list\">\n<li>\u963b\u585eI\/O\u3001\u975e\u963b\u585eI\/O\u3001I\/O\u591a\u8def\u590d\u7528\u90fd\u662f\u540c\u6b65I\/O<\/li>\n\n\n\n<li>&#8220;\u540c\u6b65&#8221;\u6307I\/O\u64cd\u4f5c\u7684\u5c31\u7eea\u72b6\u6001\u9700\u8981\u8c03\u7528\u8005\u4e3b\u52a8\u68c0\u67e5\u6216\u7b49\u5f85<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f02\u6b65I\/O<\/strong>\uff1a\u8c03\u7528\u8005\u53d1\u8d77I\/O\u64cd\u4f5c\u540e\u7acb\u5373\u8fd4\u56de\uff0c<strong>\u88ab\u52a8\u63a5\u6536<\/strong>\u5b8c\u6210\u901a\u77e5\n<ul class=\"wp-block-list\">\n<li>\u64cd\u4f5c\u5b8c\u6210\u540e\uff0c\u7cfb\u7edf\u901a\u8fc7\u56de\u8c03\u3001\u4fe1\u53f7\u7b49\u65b9\u5f0f\u901a\u77e5\u8c03\u7528\u8005<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u952e\u533a\u522b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u5c31\u7eea\u901a\u77e5\u7684\u65f6\u673a<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u540c\u6b65\uff1a\u6570\u636e\u5c31\u7eea\u540e\uff0c\u9700\u8981\u8c03\u7528\u8005\u4e3b\u52a8\u8bfb\u53d6<\/li>\n\n\n\n<li>\u5f02\u6b65\uff1a\u6570\u636e\u8bfb\u53d6\u5b8c\u6210\u540e\uff0c\u7cfb\u7edf\u901a\u77e5\u8c03\u7528\u8005<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u963b\u585e\u4f4d\u7f6e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u540c\u6b65\uff1a\u5728I\/O\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u963b\u585e<\/li>\n\n\n\n<li>\u5f02\u6b65\uff1a\u8c03\u7528I\/O\u51fd\u6570\u540e\u7acb\u5373\u8fd4\u56de\uff0c\u4e0d\u4f1a\u963b\u585e<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50\u5bf9\u6bd4<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u540c\u6b65\u8bfb\u53d6\uff08\u963b\u585e\uff09 char buf[1024]; int n = read(fd, buf, sizeof(buf)); \/\/ \u963b\u585e\u76f4\u5230\u6570\u636e\u5c31\u7eea process_data(buf, n); \/\/ \u5f02\u6b65\u8bfb\u53d6\uff08\u975e\u963b\u585e\uff09 aio_read(&amp;aiocb); \/\/ \u7acb\u5373\u8fd4\u56de \/\/ &#8230; \u505a\u5176\u4ed6\u4e8b\u60c5 \/\/ \u6570\u636e\u8bfb\u53d6\u5b8c\u6210\u540e\uff0c\u901a\u8fc7\u4fe1\u53f7\u6216\u56de\u8c03\u901a\u77e5<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">285. \u963b\u585e\u548c\u975e\u963b\u585e\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u963b\u585e\u8c03\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528\u7ed3\u679c\u8fd4\u56de\u524d\uff0c\u5f53\u524d\u7ebf\u7a0b\u88ab\u6302\u8d77<\/li>\n\n\n\n<li>\u8c03\u7528\u7ebf\u7a0b\u53ea\u6709\u5728\u5f97\u5230\u7ed3\u679c\u540e\u624d\u8fd4\u56de<\/li>\n\n\n\n<li>\u5982\uff1a\u9ed8\u8ba4\u7684<code>socket.read()<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u975e\u963b\u585e\u8c03\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528\u7ed3\u679c\u8fd4\u56de\u524d\uff0c\u5f53\u524d\u7ebf\u7a0b\u4e0d\u4f1a\u88ab\u6302\u8d77<\/li>\n\n\n\n<li>\u65e0\u8bba\u662f\u5426\u7acb\u5373\u5f97\u5230\u7ed3\u679c\uff0c\u8c03\u7528\u90fd\u4f1a\u7acb\u5373\u8fd4\u56de<\/li>\n\n\n\n<li>\u5982\uff1a\u8bbe\u7f6e<code>O_NONBLOCK<\/code>\u6807\u5fd7\u540e\u7684<code>socket.read()<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u533a\u522b\u5bf9\u6bd4<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u963b\u585e<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u975e\u963b\u585e<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8c03\u7528\u8fd4\u56de<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5f97\u5230\u7ed3\u679c\u540e\u624d\u8fd4\u56de<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7acb\u5373\u8fd4\u56de<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7ebf\u7a0b\u72b6\u6001<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u80fd\u88ab\u6302\u8d77<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u4f1a\u88ab\u6302\u8d77<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>CPU\u4f7f\u7528<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7b49\u5f85\u65f6\u4e0d\u5360\u7528CPU<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u8f6e\u8be2\u68c0\u67e5\uff0c\u53ef\u80fd\u6d6a\u8d39CPU<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7f16\u7a0b\u590d\u6742\u5ea6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7b80\u5355\u76f4\u89c2<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f8\u5bf9\u590d\u6742\uff0c\u9700\u8981\u5904\u7406\u8fd4\u56de\u72b6\u6001<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8fde\u63a5\u6570\u5c11\uff0c\u7b80\u5355\u5e94\u7528<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9ad8\u5e76\u53d1\uff0c\u9700\u8981\u9ad8\u6548\u5904\u7406\u591a\u8fde\u63a5<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4ee3\u7801\u793a\u4f8b<\/strong>\uff1acpp\u590d\u5236\u4e0b\u8f7d\/\/ \u963b\u585e\u8bfb\u53d6 int n = read(fd, buffer, size); \/\/ \u963b\u585e\u76f4\u5230\u6709\u6570\u636e \/\/ \u975e\u963b\u585e\u8bfb\u53d6 fcntl(fd, F_SETFL, O_NONBLOCK); \/\/ \u8bbe\u7f6e\u975e\u963b\u585e int n = read(fd, buffer, size); \/\/ \u7acb\u5373\u8fd4\u56de if (n == -1 &amp;&amp; errno == EAGAIN) { \/\/ \u6570\u636e\u672a\u5c31\u7eea\uff0c\u7a0d\u540e\u91cd\u8bd5 }<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">286. \u540c\u6b65\uff0c\u5f02\u6b65\uff0c\u963b\u585e\uff0c\u975e\u963b\u585e\u7684IO\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u8fd9\u662f\u4e24\u4e2a\u7ef4\u5ea6\u7684\u7ec4\u5408\uff0c\u7ecf\u5e38\u88ab\u6df7\u6dc6\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7b2c\u4e00\u4e2a\u7ef4\u5ea6\uff1a\u540c\u6b65 vs \u5f02\u6b65<\/strong>\uff08\u5173\u6ce8<strong>\u7ed3\u679c\u901a\u77e5\u673a\u5236<\/strong>\uff09<\/li>\n\n\n\n<li><strong>\u7b2c\u4e8c\u4e2a\u7ef4\u5ea6\uff1a\u963b\u585e vs \u975e\u963b\u585e<\/strong>\uff08\u5173\u6ce8<strong>\u7b49\u5f85\u72b6\u6001<\/strong>\uff09<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u56db\u79cd\u7ec4\u5408<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u540c\u6b65\u963b\u585e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528I\/O\u51fd\u6570\u65f6\u963b\u585e\u7b49\u5f85\uff0c\u76f4\u5230\u64cd\u4f5c\u5b8c\u6210<\/li>\n\n\n\n<li>\u4f8b\u5b50\uff1a\u9ed8\u8ba4\u7684<code>socket.read()<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u540c\u6b65\u975e\u963b\u585e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528I\/O\u51fd\u6570\u65f6\u7acb\u5373\u8fd4\u56de\uff0c\u9700\u8981\u8f6e\u8be2\u68c0\u67e5\u662f\u5426\u5b8c\u6210<\/li>\n\n\n\n<li>\u4f8b\u5b50\uff1a\u975e\u963b\u585esocket + \u8f6e\u8be2<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f02\u6b65\u963b\u585e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8fd9\u79cd\u7ec4\u5408\u5f88\u5c11\u89c1\uff0c\u6982\u5ff5\u4e0a\u77db\u76fe<\/li>\n\n\n\n<li>\u5f02\u6b65\u901a\u5e38\u610f\u5473\u7740\u975e\u963b\u585e<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f02\u6b65\u975e\u963b\u585e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528I\/O\u51fd\u6570\u540e\u7acb\u5373\u8fd4\u56de\uff0c\u64cd\u4f5c\u5b8c\u6210\u540e\u7cfb\u7edf\u901a\u77e5<\/li>\n\n\n\n<li>\u4f8b\u5b50\uff1aLinux\u7684AIO\u3001Windows\u7684IOCP<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6b63\u786e\u7406\u89e3<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u540c\u6b65\/\u5f02\u6b65<\/strong>\uff1a\u5173\u6ce8\u7684\u662f<strong>\u6d88\u606f\u901a\u77e5\u673a\u5236<\/strong><\/li>\n\n\n\n<li><strong>\u963b\u585e\/\u975e\u963b\u585e<\/strong>\uff1a\u5173\u6ce8\u7684\u662f<strong>\u7b49\u5f85\u72b6\u6001<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e38\u89c1\u8bef\u533a<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u975e\u963b\u585eI\/O \u2260 \u5f02\u6b65I\/O<\/li>\n\n\n\n<li>I\/O\u591a\u8def\u590d\u7528\uff08epoll\uff09\u5c5e\u4e8e\u540c\u6b65I\/O\uff0c\u56e0\u4e3a\u9700\u8981\u4e3b\u52a8\u8c03\u7528read\/write<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">287. \u5230\u5e95\u4ec0\u4e48\u662freactor<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>Reactor\u6a21\u5f0f<\/strong>\u662f\u4e00\u79cd\u5904\u7406\u5e76\u53d1I\/O\u7684\u4e8b\u4ef6\u9a71\u52a8\u8bbe\u8ba1\u6a21\u5f0f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u7ec4\u4ef6<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4e8b\u4ef6\u591a\u8def\u5206\u89e3\u5668<\/strong>\uff1a\u5982<code>epoll<\/code>\u3001<code>select<\/code>\uff0c\u7b49\u5f85\u591a\u4e2aI\/O\u4e8b\u4ef6<\/li>\n\n\n\n<li><strong>\u4e8b\u4ef6\u5206\u53d1\u5668<\/strong>\uff1a\u5c06\u5c31\u7eea\u7684\u4e8b\u4ef6\u5206\u53d1\u7ed9\u5bf9\u5e94\u7684\u4e8b\u4ef6\u5904\u7406\u5668<\/li>\n\n\n\n<li><strong>\u4e8b\u4ef6\u5904\u7406\u5668<\/strong>\uff1a\u5904\u7406\u5177\u4f53\u7684I\/O\u4e8b\u4ef6<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u6d41\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5e94\u7528\u7a0b\u5e8f\u5411Reactor\u6ce8\u518c\u4e8b\u4ef6\u548c\u5bf9\u5e94\u7684\u4e8b\u4ef6\u5904\u7406\u5668<\/li>\n\n\n\n<li>Reactor\u8c03\u7528\u4e8b\u4ef6\u591a\u8def\u5206\u89e3\u5668\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f<\/li>\n\n\n\n<li>\u5f53\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u4e8b\u4ef6\u591a\u8def\u5206\u89e3\u5668\u8fd4\u56de\u5c31\u7eea\u7684\u4e8b\u4ef6<\/li>\n\n\n\n<li>\u4e8b\u4ef6\u5206\u53d1\u5668\u8c03\u7528\u76f8\u5e94\u7684\u4e8b\u4ef6\u5904\u7406\u5668\u8fdb\u884c\u5904\u7406<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5355\u7ebf\u7a0b\u4e8b\u4ef6\u5faa\u73af<\/strong>\uff1a\u901a\u5e38\u6709\u4e00\u4e2a\u4e3b\u7ebf\u7a0b\u8d1f\u8d23\u4e8b\u4ef6\u5faa\u73af<\/li>\n\n\n\n<li><strong>\u975e\u963b\u585eI\/O<\/strong>\uff1a\u4f7f\u7528\u975e\u963b\u585esocket<\/li>\n\n\n\n<li><strong>\u56de\u8c03\u673a\u5236<\/strong>\uff1a\u901a\u8fc7\u56de\u8c03\u51fd\u6570\u5904\u7406\u4e8b\u4ef6<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5355\u7ebf\u7a0b\u53ef\u4ee5\u5904\u7406\u5927\u91cf\u8fde\u63a5<\/li>\n\n\n\n<li>\u907f\u514d\u4e3a\u6bcf\u4e2a\u8fde\u63a5\u521b\u5efa\u7ebf\u7a0b\u7684\u5f00\u9500<\/li>\n\n\n\n<li>\u7f16\u7a0b\u6a21\u578b\u6e05\u6670<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5728C++\u4e2d\u7684\u5e94\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>Boost.Asio<\/li>\n\n\n\n<li>Muduo\u7f51\u7edc\u5e93<\/li>\n\n\n\n<li>Redis\u7684\u7f51\u7edc\u6a21\u5757<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">288. \u4ec0\u4e48\u662f\u7269\u7406\u5730\u5740\uff0c\u4ec0\u4e48\u662f\u903b\u8f91\u5730\u5740<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u903b\u8f91\u5730\u5740<\/strong>\uff08\u865a\u62df\u5730\u5740\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7a0b\u5e8f\u770b\u5230\u7684\u5730\u5740\u7a7a\u95f4\uff0c\u4ece0\u5f00\u59cb\u8fde\u7eed\u7f16\u5740<\/li>\n\n\n\n<li>\u6bcf\u4e2a\u8fdb\u7a0b\u6709\u81ea\u5df1\u72ec\u7acb\u7684\u903b\u8f91\u5730\u5740\u7a7a\u95f4<\/li>\n\n\n\n<li>\u901a\u8fc7\u5185\u5b58\u7ba1\u7406\u5355\u5143\u8f6c\u6362\u4e3a\u7269\u7406\u5730\u5740<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7269\u7406\u5730\u5740<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b9e\u9645\u5185\u5b58\u786c\u4ef6\u4e0a\u7684\u5730\u5740<\/li>\n\n\n\n<li>\u5168\u5c40\u552f\u4e00\uff0c\u6240\u6709\u8fdb\u7a0b\u5171\u4eab\u540c\u4e00\u7269\u7406\u5730\u5740\u7a7a\u95f4<\/li>\n\n\n\n<li>\u7531\u5185\u5b58\u63a7\u5236\u5668\u76f4\u63a5\u4f7f\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5730\u5740\u8f6c\u6362\u8fc7\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>CPU\u53d1\u51fa\u903b\u8f91\u5730\u5740<\/li>\n\n\n\n<li>MMU\u901a\u8fc7\u9875\u8868\u67e5\u8be2\u7269\u7406\u5730\u5740<\/li>\n\n\n\n<li>\u5982\u679c\u9875\u8868\u9879\u6709\u6548\uff0c\u5b8c\u6210\u5730\u5740\u8f6c\u6362<\/li>\n\n\n\n<li>\u5982\u679c\u9875\u8868\u9879\u65e0\u6548\uff0c\u89e6\u53d1\u9875\u9519\u8bef\u5f02\u5e38<\/li>\n\n\n\n<li>\u64cd\u4f5c\u7cfb\u7edf\u5904\u7406\u9875\u9519\u8bef\uff0c\u52a0\u8f7d\u7f3a\u5931\u7684\u9875\u9762<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u8f6c\u6362\u793a\u4f8b<\/strong>\uff1atext\u590d\u5236\u4e0b\u8f7d\u903b\u8f91\u5730\u5740: 0x4000 (\u8fdb\u7a0b\u89c6\u89d2) \u2193 MMU\u8f6c\u6362 (\u901a\u8fc7\u9875\u8868) \u7269\u7406\u5730\u5740: 0x1234000 (\u5185\u5b58\u786c\u4ef6\u89c6\u89d2)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u7f51\u7edc\u7f16\u7a0b<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">289. \u7b80\u8ff0\u4e03\u5c42\u6a21\u578b\u548c\u56db\u5c42\u6a21\u578b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OSI\u4e03\u5c42\u6a21\u578b<\/strong>\uff08\u7406\u8bba\u6a21\u578b\uff09\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7269\u7406\u5c42<\/strong>\uff1a\u6bd4\u7279\u6d41\u4f20\u8f93\uff08\u7f51\u7ebf\u3001\u5149\u7ea4\u3001\u65e0\u7ebf\uff09<\/li>\n\n\n\n<li><strong>\u6570\u636e\u94fe\u8def\u5c42<\/strong>\uff1a\u5e27\u4f20\u8f93\uff0c\u5dee\u9519\u68c0\u6d4b\uff08MAC\u5730\u5740\uff09<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\u5c42<\/strong>\uff1a\u8def\u7531\u9009\u62e9\uff0cIP\u5bfb\u5740\uff08IP\u534f\u8bae\uff09<\/li>\n\n\n\n<li><strong>\u4f20\u8f93\u5c42<\/strong>\uff1a\u7aef\u5230\u7aef\u901a\u4fe1\uff08TCP\u3001UDP\uff09<\/li>\n\n\n\n<li><strong>\u4f1a\u8bdd\u5c42<\/strong>\uff1a\u5efa\u7acb\u3001\u7ba1\u7406\u3001\u7ec8\u6b62\u4f1a\u8bdd<\/li>\n\n\n\n<li><strong>\u8868\u793a\u5c42<\/strong>\uff1a\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u3001\u52a0\u5bc6\u89e3\u5bc6<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u5c42<\/strong>\uff1a\u4e3a\u7528\u6237\u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\uff08HTTP\u3001FTP\uff09<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>TCP\/IP\u56db\u5c42\u6a21\u578b<\/strong>\uff08\u5b9e\u9645\u5e94\u7528\uff09\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7f51\u7edc\u63a5\u53e3\u5c42<\/strong>\uff1a\u5bf9\u5e94OSI\u7684\u7269\u7406\u5c42+\u6570\u636e\u94fe\u8def\u5c42<\/li>\n\n\n\n<li><strong>\u7f51\u9645\u5c42<\/strong>\uff1a\u5bf9\u5e94OSI\u7684\u7f51\u7edc\u5c42\uff08IP\u534f\u8bae\uff09<\/li>\n\n\n\n<li><strong>\u4f20\u8f93\u5c42<\/strong>\uff1a\u5bf9\u5e94OSI\u7684\u4f20\u8f93\u5c42\uff08TCP\u3001UDP\uff09<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u5c42<\/strong>\uff1a\u5bf9\u5e94OSI\u7684\u4f1a\u8bdd\u5c42+\u8868\u793a\u5c42+\u5e94\u7528\u5c42<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5bf9\u6bd4<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>OSI\u6a21\u578b\u66f4\u7406\u8bba\u5316\uff0c\u5c42\u6b21\u6e05\u6670\u4f46\u590d\u6742<\/li>\n\n\n\n<li>TCP\/IP\u6a21\u578b\u66f4\u5b9e\u7528\uff0c\u662f\u4e92\u8054\u7f51\u7684\u5b9e\u9645\u6807\u51c6<\/li>\n\n\n\n<li>\u73b0\u5728\u5e38\u7528<strong>\u4e94\u5c42\u6a21\u578b<\/strong>\uff08\u7efc\u5408\u4e24\u8005\u4f18\u70b9\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7269\u7406\u5c42\u3001\u6570\u636e\u94fe\u8def\u5c42\u3001\u7f51\u7edc\u5c42\u3001\u4f20\u8f93\u5c42\u3001\u5e94\u7528\u5c42<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">290. \u8bf7\u63cf\u8ff0\u4e00\u4e0b\u4ece\u8f93\u5165URL\u5230\u663e\u793a\u9875\u9762\u7684\u5168\u8fc7\u7a0b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>URL\u89e3\u6790<\/strong>\uff1a\u6d4f\u89c8\u5668\u89e3\u6790URL\uff0c\u63d0\u53d6\u534f\u8bae\u3001\u57df\u540d\u3001\u8def\u5f84\u7b49\u4fe1\u606f<\/li>\n\n\n\n<li><strong>DNS\u67e5\u8be2<\/strong>\uff1a\u5c06\u57df\u540d\u8f6c\u6362\u4e3aIP\u5730\u5740\n<ul class=\"wp-block-list\">\n<li>\u6d4f\u89c8\u5668\u7f13\u5b58 \u2192 \u7cfb\u7edf\u7f13\u5b58 \u2192 \u8def\u7531\u5668\u7f13\u5b58 \u2192 ISP DNS\u670d\u52a1\u5668 \u2192 \u9012\u5f52\u67e5\u8be2<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5efa\u7acbTCP\u8fde\u63a5<\/strong>\uff1a\u4e0e\u670d\u52a1\u5668\u8fdb\u884c\u4e09\u6b21\u63e1\u624b\n<ul class=\"wp-block-list\">\n<li>SYN \u2192 SYN-ACK \u2192 ACK<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u53d1\u9001HTTP\u8bf7\u6c42<\/strong>\uff1a\u6d4f\u89c8\u5668\u53d1\u9001HTTP\u8bf7\u6c42\u62a5\u6587\n<ul class=\"wp-block-list\">\n<li>\u8bf7\u6c42\u65b9\u6cd5\u3001URL\u3001\u534f\u8bae\u7248\u672c\u3001\u8bf7\u6c42\u5934\u3001\u8bf7\u6c42\u4f53<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u5904\u7406<\/strong>\uff1a\u670d\u52a1\u5668\u5904\u7406\u8bf7\u6c42\uff0c\u751f\u6210\u54cd\u5e94\n<ul class=\"wp-block-list\">\n<li>\u9759\u6001\u8d44\u6e90\u76f4\u63a5\u8fd4\u56de\uff0c\u52a8\u6001\u5185\u5bb9\u7531\u5e94\u7528\u670d\u52a1\u5668\u5904\u7406<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u8fd4\u56de\u54cd\u5e94<\/strong>\uff1a\u670d\u52a1\u5668\u8fd4\u56deHTTP\u54cd\u5e94\u62a5\u6587\n<ul class=\"wp-block-list\">\n<li>\u72b6\u6001\u7801\u3001\u54cd\u5e94\u5934\u3001\u54cd\u5e94\u4f53<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d4f\u89c8\u5668\u89e3\u6790\u6e32\u67d3<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u89e3\u6790HTML<\/strong>\uff1a\u6784\u5efaDOM\u6811<\/li>\n\n\n\n<li><strong>\u89e3\u6790CSS<\/strong>\uff1a\u6784\u5efaCSSOM\u6811<\/li>\n\n\n\n<li><strong>\u5408\u5e76\u6e32\u67d3\u6811<\/strong>\uff1aDOM + CSSOM = \u6e32\u67d3\u6811<\/li>\n\n\n\n<li><strong>\u5e03\u5c40<\/strong>\uff1a\u8ba1\u7b97\u6bcf\u4e2a\u8282\u70b9\u7684\u4f4d\u7f6e\u548c\u5927\u5c0f<\/li>\n\n\n\n<li><strong>\u7ed8\u5236<\/strong>\uff1a\u5c06\u6e32\u67d3\u6811\u7ed8\u5236\u5230\u5c4f\u5e55\u4e0a<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u52a0\u8f7d\u8d44\u6e90<\/strong>\uff1a\u89e3\u6790\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u5176\u4ed6\u8d44\u6e90\uff08\u56fe\u7247\u3001CSS\u3001JS\uff09\uff0c\u91cd\u590d3-6\u6b65<\/li>\n\n\n\n<li><strong>\u8fde\u63a5\u7ed3\u675f<\/strong>\uff1a\u56db\u6b21\u6325\u624b\u5173\u95edTCP\u8fde\u63a5<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">291. \u7b80\u8ff0\u4e00\u4e0bsocket\u7684\u7f16\u7a0b\u6d41\u7a0b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>TCP Socket\u7f16\u7a0b\u6d41\u7a0b<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u670d\u52a1\u5668\u7aef<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u521b\u5efasocket<\/strong>\uff1a<code>socket(AF_INET, SOCK_STREAM, 0)<\/code><\/li>\n\n\n\n<li><strong>\u7ed1\u5b9a\u5730\u5740<\/strong>\uff1a<code>bind(sockfd, &amp;addr, sizeof(addr))<\/code><\/li>\n\n\n\n<li><strong>\u76d1\u542c\u8fde\u63a5<\/strong>\uff1a<code>listen(sockfd, backlog)<\/code><\/li>\n\n\n\n<li><strong>\u63a5\u53d7\u8fde\u63a5<\/strong>\uff1a<code>accept(sockfd, &amp;client_addr, &amp;addr_len)<\/code><\/li>\n\n\n\n<li><strong>\u6570\u636e\u4f20\u8f93<\/strong>\uff1a<code>read()\/write()<\/code>\u6216<code>recv()\/send()<\/code><\/li>\n\n\n\n<li><strong>\u5173\u95ed\u8fde\u63a5<\/strong>\uff1a<code>close(sockfd)<\/code><\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5ba2\u6237\u7aef<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u521b\u5efasocket<\/strong>\uff1a<code>socket(AF_INET, SOCK_STREAM, 0)<\/code><\/li>\n\n\n\n<li><strong>\u8fde\u63a5\u670d\u52a1\u5668<\/strong>\uff1a<code>connect(sockfd, &amp;server_addr, sizeof(server_addr))<\/code><\/li>\n\n\n\n<li><strong>\u6570\u636e\u4f20\u8f93<\/strong>\uff1a<code>read()\/write()<\/code>\u6216<code>recv()\/send()<\/code><\/li>\n\n\n\n<li><strong>\u5173\u95ed\u8fde\u63a5<\/strong>\uff1a<code>close(sockfd)<\/code><\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>UDP Socket\u7f16\u7a0b<\/strong>\uff08\u66f4\u7b80\u5355\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u670d\u52a1\u5668\uff1asocket \u2192 bind \u2192 recvfrom\/sendto<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\uff1asocket \u2192 sendto\/recvfrom<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4ee3\u7801\u6846\u67b6<\/strong>\uff1ac\u590d\u5236\u4e0b\u8f7d\/\/ TCP\u670d\u52a1\u5668\u793a\u4f8b int server_fd = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in addr = {&#8230;}; bind(server_fd, (struct sockaddr*)&amp;addr, sizeof(addr)); listen(server_fd, 5); while (1) { int client_fd = accept(server_fd, NULL, NULL); \/\/ \u5904\u7406\u5ba2\u6237\u7aef\u8bf7\u6c42 close(client_fd); }<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">292. write\u963b\u585e\u7684\u539f\u56e0\u6709\u54ea\u4e9b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>write()<\/code>\u8c03\u7528\u963b\u585e\u7684\u5e38\u89c1\u539f\u56e0\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u53d1\u9001\u7f13\u51b2\u533a\u5df2\u6ee1<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>TCP\u534f\u8bae\u6709\u53d1\u9001\u7f13\u51b2\u533a\uff0c\u5982\u679c\u7f13\u51b2\u533a\u6ee1\uff0c<code>write()<\/code>\u4f1a\u963b\u585e<\/li>\n\n\n\n<li>\u7b49\u5f85\u5bf9\u7aefACK\u786e\u8ba4\u6570\u636e\u63a5\u6536\uff0c\u91ca\u653e\u7f13\u51b2\u533a\u7a7a\u95f4<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d41\u91cf\u63a7\u5236<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>TCP\u4f7f\u7528\u6ed1\u52a8\u7a97\u53e3\u8fdb\u884c\u6d41\u91cf\u63a7\u5236<\/li>\n\n\n\n<li>\u5bf9\u7aef\u901a\u544a\u7684\u7a97\u53e3\u5927\u5c0f\u4e3a0\u65f6\uff0c\u53d1\u9001\u65b9\u5fc5\u987b\u7b49\u5f85<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\u62e5\u585e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7f51\u7edc\u72b6\u51b5\u5dee\uff0c\u6570\u636e\u5305\u4e22\u5931\u6216\u5ef6\u8fdf<\/li>\n\n\n\n<li>TCP\u62e5\u585e\u63a7\u5236\u7b97\u6cd5\u4f1a\u51cf\u5c11\u53d1\u9001\u901f\u7387<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5bf9\u7aef\u5904\u7406\u6162<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u7aef\u5e94\u7528\u7a0b\u5e8f\u8bfb\u53d6\u6570\u636e\u901f\u5ea6\u6162<\/li>\n\n\n\n<li>\u5bfc\u81f4\u5bf9\u7aef\u63a5\u6536\u7f13\u51b2\u533a\u6ee1\uff0c\u5f71\u54cd\u672c\u7aef\u53d1\u9001<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7ba1\u9053\u7834\u88c2<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u7aef\u8fde\u63a5\u5df2\u5173\u95ed\uff0c\u4f46\u672c\u7aef\u5c1d\u8bd5\u5199\u5165<\/li>\n\n\n\n<li>\u7b2c\u4e00\u6b21\u5199\u5165\u6536\u5230RST\uff0c\u7b2c\u4e8c\u6b21\u5199\u5165\u89e6\u53d1SIGPIPE\uff08\u9ed8\u8ba4\u7ec8\u6b62\u8fdb\u7a0b\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u975e\u963b\u585eI\/O + I\/O\u591a\u8def\u590d\u7528<\/li>\n\n\n\n<li>\u8bbe\u7f6e\u5408\u9002\u7684socket\u7f13\u51b2\u533a\u5927\u5c0f<\/li>\n\n\n\n<li>\u4f18\u5316\u7f51\u7edc\u73af\u5883\u548c\u5e94\u7528\u7a0b\u5e8f\u6027\u80fd<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">293. \u591a\u8def\u590d\u7528\uff1aselect\uff0cpoll\uff0cepoll\u7684\u533a\u522b\uff0cepoll\u7684\u5e95\u5c42\u662f\u5982\u4f55\u5b9e\u73b0\u7684<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong>1. \u57fa\u672c\u6982\u5ff5<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\/O\u591a\u8def\u590d\u7528\u662f\u4e00\u79cd\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u6587\u4ef6\u63cf\u8ff0\u7b26\uff08fd\uff09\u7684\u673a\u5236\uff0c\u5f53\u67d0\u4e2afd\u5c31\u7eea\uff08\u53ef\u8bfb\u3001\u53ef\u5199\u6216\u5f02\u5e38\uff09\u65f6\uff0c\u7cfb\u7edf\u4f1a\u901a\u77e5\u8fdb\u7a0b\u8fdb\u884c\u76f8\u5e94\u7684\u8bfb\u5199\u64cd\u4f5c\u3002\u5e38\u89c1\u7684\u5b9e\u73b0\u6709<code>select<\/code>\u3001<code>poll<\/code>\u548c<code>epoll<\/code>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">2. select\u3001poll\u3001epoll\u7684\u533a\u522b<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">select<\/th><th class=\"has-text-align-left\" data-align=\"left\">poll<\/th><th class=\"has-text-align-left\" data-align=\"left\">epoll<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u65f6\u95f4\u590d\u6742\u5ea6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">O(n)<\/td><td class=\"has-text-align-left\" data-align=\"left\">O(1)\uff08\u4ec5\u5904\u7406\u5c31\u7eea\u7684fd\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6700\u5927\u8fde\u63a5\u6570<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\u9650\uff08\u901a\u5e381024\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u9650\u5236\uff08\u57fa\u4e8e\u7cfb\u7edf\u8d44\u6e90\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u9650\u5236\uff08\u57fa\u4e8e\u7cfb\u7edf\u8d44\u6e90\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5de5\u4f5c\u6a21\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f6e\u8be2\u6240\u6709fd<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f6e\u8be2\u6240\u6709fd<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u56de\u8c03\u673a\u5236\uff08\u4ec5\u901a\u77e5\u5c31\u7eea\u7684fd\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>fd\u62f7\u8d1d\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6bcf\u6b21\u8c03\u7528\u9700\u4ece\u7528\u6237\u6001\u62f7\u8d1dfd\u96c6\u5408\u5230\u5185\u6838\u6001<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u540cselect<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u8fc7<code>epoll_ctl<\/code>\u6ce8\u518cfd\uff0c\u907f\u514d\u91cd\u590d\u62f7\u8d1d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u89e6\u53d1\u6a21\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ec5\u652f\u6301\u6c34\u5e73\u89e6\u53d1\uff08LT\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ec5\u652f\u6301\u6c34\u5e73\u89e6\u53d1\uff08LT\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\u6c34\u5e73\u89e6\u53d1\uff08LT\uff09\u548c\u8fb9\u7f18\u89e6\u53d1\uff08ET\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5185\u6838\u652f\u6301<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51e0\u4e4e\u6240\u6709\u7cfb\u7edf<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u51e0\u4e4e\u6240\u6709\u7cfb\u7edf<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ec5Linux\uff08\u5176\u4ed6\u7cfb\u7edf\u6709\u7c7b\u4f3c\u5982kqueue\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">3. \u8be6\u7ec6\u5bf9\u6bd4<\/h5>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>select<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0\u539f\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>fd_set<\/code>\uff08\u4f4d\u56fe\uff09\u5b58\u50a8fd\uff0c\u901a\u8fc7\u904d\u5386\u6240\u6709fd\u68c0\u67e5\u5c31\u7eea\u72b6\u6001\u3002<\/li>\n\n\n\n<li>\u6bcf\u6b21\u8c03\u7528\u9700\u8981\u91cd\u7f6e<code>fd_set<\/code>\uff0c\u5e76\u91cd\u65b0\u4ece\u7528\u6237\u6001\u62f7\u8d1d\u5230\u5185\u6838\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6700\u5927fd\u6570\u91cf\u53d7\u9650\uff08<code>FD_SETSIZE<\/code>\u901a\u5e38\u4e3a1024\uff09\u3002<\/li>\n\n\n\n<li>\u7ebf\u6027\u626b\u63cf\u6240\u6709fd\uff0c\u6548\u7387\u968ffd\u6570\u91cf\u589e\u52a0\u800c\u4e0b\u964d\u3002<\/li>\n\n\n\n<li>\u9891\u7e41\u7684\u7528\u6237\u6001-\u5185\u6838\u6001\u62f7\u8d1d\u5f00\u9500\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>poll<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0\u539f\u7406<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>pollfd<\/code>\u7ed3\u6784\u4f53\u6570\u7ec4\u66ff\u4ee3<code>fd_set<\/code>\uff0c\u89e3\u51b3\u4e86\u6700\u5927\u8fde\u63a5\u6570\u9650\u5236\u3002<\/li>\n\n\n\n<li>\u4e0eselect\u7c7b\u4f3c\uff0c\u4ecd\u9700\u904d\u5386\u6240\u6709fd\u68c0\u67e5\u5c31\u7eea\u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6548\u7387\u968ffd\u6570\u91cf\u589e\u52a0\u800c\u4e0b\u964d\uff08\u4e0eselect\u76f8\u540c\uff09\u3002<\/li>\n\n\n\n<li>\u5927\u91cffd\u65f6\uff0c\u7528\u6237\u6001-\u5185\u6838\u6001\u62f7\u8d1d\u4ecd\u5b58\u5728\u5f00\u9500\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>epoll<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u6539\u8fdb<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4e8b\u4ef6\u9a71\u52a8<\/strong>\uff1a\u901a\u8fc7\u56de\u8c03\u673a\u5236\u4ec5\u901a\u77e5\u5c31\u7eea\u7684fd\uff0c\u65e0\u9700\u904d\u5386\u6240\u6709fd\u3002<\/li>\n\n\n\n<li><strong>\u9ad8\u6548\u5185\u5b58\u4f7f\u7528<\/strong>\uff1a\u4f7f\u7528<code>epoll_ctl<\/code>\u6ce8\u518cfd\uff0c\u907f\u514d\u91cd\u590d\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li><strong>\u652f\u6301\u8fb9\u7f18\u89e6\u53d1\uff08ET\uff09<\/strong>\uff1a\u4ec5\u5728fd\u72b6\u6001\u53d8\u5316\u65f6\u901a\u77e5\uff0c\u51cf\u5c11\u4e8b\u4ef6\u91cd\u590d\u89e6\u53d1\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5904\u7406\u5927\u91cf\u8fde\u63a5\u65f6\u6027\u80fd\u663e\u8457\u4f18\u4e8eselect\/poll\u3002<\/li>\n\n\n\n<li>\u652f\u6301\u6c34\u5e73\u89e6\u53d1\uff08LT\uff09\u548c\u8fb9\u7f18\u89e6\u53d1\uff08ET\uff09\u6a21\u5f0f\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">4. epoll\u7684\u5e95\u5c42\u5b9e\u73b0<\/h5>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\u6838\u5fc3\u6570\u636e\u7ed3\u6784<\/strong><\/h6>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7ea2\u9ed1\u6811\uff08rbtree\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b58\u50a8\u6240\u6709\u901a\u8fc7<code>epoll_ctl<\/code>\u6ce8\u518c\u7684fd\uff0c\u4fdd\u8bc1\u9ad8\u6548\u67e5\u627e\u3001\u63d2\u5165\u548c\u5220\u9664\uff08\u65f6\u95f4\u590d\u6742\u5ea6O(log n)\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5c31\u7eea\u94fe\u8868\uff08ready list\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b58\u50a8\u5c31\u7eea\u7684fd\u4e8b\u4ef6\uff0c\u5f53fd\u5c31\u7eea\u65f6\uff0c\u5185\u6838\u5c06\u5176\u6dfb\u52a0\u5230\u94fe\u8868\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\u5173\u952e\u51fd\u6570<\/strong><\/h6>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>epoll_create()<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u521b\u5efa\u4e00\u4e2a<code>epoll<\/code>\u5b9e\u4f8b\uff0c\u8fd4\u56de\u5bf9\u5e94\u7684\u6587\u4ef6\u63cf\u8ff0\u7b26\uff08epfd\uff09\u3002<\/li>\n\n\n\n<li>\u5185\u6838\u521d\u59cb\u5316\u7ea2\u9ed1\u6811\u548c\u5c31\u7eea\u94fe\u8868\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>epoll_ctl()<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5411epfd\u6dfb\u52a0\u3001\u4fee\u6539\u6216\u5220\u9664\u76d1\u63a7\u7684fd\u3002<\/li>\n\n\n\n<li>\u5185\u6838\u5c06fd\u63d2\u5165\u7ea2\u9ed1\u6811\uff0c\u5e76\u4e3afd\u6ce8\u518c\u56de\u8c03\u51fd\u6570\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>epoll_wait()<\/code><\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u963b\u585e\u7b49\u5f85\u5c31\u7eea\u4e8b\u4ef6\uff0c\u8fd4\u56de\u5c31\u7eea\u7684fd\u6570\u91cf\u3002<\/li>\n\n\n\n<li>\u5185\u6838\u68c0\u67e5\u5c31\u7eea\u94fe\u8868\u662f\u5426\u4e3a\u7a7a\uff0c\u82e5\u4e0d\u4e3a\u7a7a\u5219\u8fd4\u56de\u4e8b\u4ef6\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\u5de5\u4f5c\u6d41\u7a0b<\/strong><\/h6>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u521d\u59cb\u5316<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528<code>epoll_create<\/code>\u521b\u5efaepfd\uff0c\u5185\u6838\u521d\u59cb\u5316\u7ea2\u9ed1\u6811\u548c\u5c31\u7eea\u94fe\u8868\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6ce8\u518cfd<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8c03\u7528<code>epoll_ctl<\/code>\u6dfb\u52a0fd\u5230\u7ea2\u9ed1\u6811\uff0c\u5e76\u8bbe\u7f6e\u56de\u8c03\u51fd\u6570\uff08<code>ep_poll_callback<\/code>\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e8b\u4ef6\u5c31\u7eea<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5f53fd\u5c31\u7eea\u65f6\uff08\u5982\u6570\u636e\u5230\u8fbe\uff09\uff0c\u89e6\u53d1\u56de\u8c03\u51fd\u6570\u3002<\/li>\n\n\n\n<li>\u56de\u8c03\u51fd\u6570\u5c06fd\u5bf9\u5e94\u7684\u4e8b\u4ef6\u6dfb\u52a0\u5230\u5c31\u7eea\u94fe\u8868\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u83b7\u53d6\u4e8b\u4ef6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>epoll_wait<\/code>\u68c0\u67e5\u5c31\u7eea\u94fe\u8868\uff1a\n<ul class=\"wp-block-list\">\n<li>\u82e5\u94fe\u8868\u975e\u7a7a\uff0c\u62f7\u8d1d\u4e8b\u4ef6\u5230\u7528\u6237\u6001\u5e76\u8fd4\u56de\uff1b<\/li>\n\n\n\n<li>\u82e5\u94fe\u8868\u4e3a\u7a7a\uff0c\u963b\u585e\u8fdb\u7a0b\u76f4\u5230\u8d85\u65f6\u6216\u4e8b\u4ef6\u5c31\u7eea\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\u89e6\u53d1\u6a21\u5f0f<\/strong><\/h6>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6c34\u5e73\u89e6\u53d1\uff08LT\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u53ea\u8981fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u6bcf\u6b21<code>epoll_wait<\/code>\u90fd\u4f1a\u901a\u77e5\u8be5\u4e8b\u4ef6\u3002<\/li>\n\n\n\n<li>\u517c\u5bb9\u6027\u9ad8\uff0c\u4f46\u53ef\u80fd\u91cd\u590d\u89e6\u53d1\uff08\u5982\u6570\u636e\u672a\u8bfb\u5b8c\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fb9\u7f18\u89e6\u53d1\uff08ET\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4ec5\u5728fd\u72b6\u6001\u53d8\u5316\u65f6\uff08\u5982\u4ece\u65e0\u6570\u636e\u5230\u6709\u6570\u636e\uff09\u901a\u77e5\u4e00\u6b21\u3002<\/li>\n\n\n\n<li>\u9700\u4e00\u6b21\u6027\u5904\u7406\u6240\u6709\u6570\u636e\uff0c\u5426\u5219\u53ef\u80fd\u4e22\u5931\u4e8b\u4ef6\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">5. \u6027\u80fd\u603b\u7ed3<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>select\/poll<\/strong>\uff1a\u9002\u7528\u4e8e\u8fde\u63a5\u6570\u5c11\uff08&lt;1000\uff09\u7684\u573a\u666f\uff0c\u8de8\u5e73\u53f0\u517c\u5bb9\u6027\u597d\u3002<\/li>\n\n\n\n<li><strong>epoll<\/strong>\uff1a\u9002\u7528\u4e8e\u9ad8\u5e76\u53d1\u573a\u666f\uff08\u5982Web\u670d\u52a1\u5668\uff09\uff0c\u6027\u80fd\u968f\u8fde\u63a5\u6570\u589e\u52a0\u4ecd\u4fdd\u6301\u7a33\u5b9a\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">294. epoll\u8fb9\u6cbf\u89e6\u53d1\u5177\u4f53\u5b9e\u73b0\u65b9\u5f0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8fb9\u6cbf\u89e6\u53d1<\/strong>\uff1a\u53ea\u5728\u72b6\u6001\u53d8\u5316\u65f6\u901a\u77e5\u4e00\u6b21\uff08\u5982\u4ece\u4e0d\u53ef\u8bfb\u53d8\u4e3a\u53ef\u8bfb\uff09<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0\u8981\u6c42<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5fc5\u987b\u4f7f\u7528\u975e\u963b\u585esocket<\/li>\n\n\n\n<li>\u5fc5\u987b\u4e00\u6b21\u6027\u8bfb\u53d6\u6240\u6709\u53ef\u7528\u6570\u636e<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u6b63\u786e\u4f7f\u7528\u65b9\u5f0f<\/strong>\uff1ac\u590d\u5236\u4e0b\u8f7d\/\/ \u8bbe\u7f6e\u975e\u963b\u585e fcntl(fd, F_SETFL, O_NONBLOCK); \/\/ \u8fb9\u6cbf\u89e6\u53d1\u6a21\u5f0f struct epoll_event ev; ev.events = EPOLLIN | EPOLLET; \/\/ \u8fb9\u6cbf\u89e6\u53d1 epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &amp;ev); \/\/ \u4e8b\u4ef6\u5904\u7406\u5faa\u73af while (1) { int n = epoll_wait(epfd, events, MAX_EVENTS, -1); for (int i = 0; i &lt; n; i++) { if (events[i].events &amp; EPOLLIN) { \/\/ \u5fc5\u987b\u5faa\u73af\u8bfb\u53d6\uff0c\u76f4\u5230EAGAIN while (1) { ssize_t count = read(fd, buf, sizeof(buf)); if (count == -1) { if (errno == EAGAIN) break; \/\/ \u6570\u636e\u8bfb\u5b8c \/\/ \u5176\u4ed6\u9519\u8bef\u5904\u7406 } else if (count == 0) { \/\/ \u8fde\u63a5\u5173\u95ed break; } else { \/\/ \u5904\u7406\u6570\u636e process_data(buf, count); } } } } }<\/li>\n\n\n\n<li><strong>\u4e0e\u6c34\u5e73\u89e6\u53d1\u7684\u533a\u522b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6c34\u5e73\u89e6\u53d1<\/strong>\uff1a\u53ea\u8981\u6761\u4ef6\u6ee1\u8db3\u5c31\u91cd\u590d\u901a\u77e5<\/li>\n\n\n\n<li><strong>\u8fb9\u6cbf\u89e6\u53d1<\/strong>\uff1a\u53ea\u5728\u72b6\u6001\u53d8\u5316\u65f6\u901a\u77e5\u4e00\u6b21<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fb9\u6cbf\u89e6\u53d1\u7684\u4f18\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u51cf\u5c11\u4e8b\u4ef6\u901a\u77e5\u6b21\u6570\uff0c\u63d0\u9ad8\u6027\u80fd<\/li>\n\n\n\n<li>\u907f\u514d&#8221;\u60ca\u7fa4&#8221;\u95ee\u9898\uff08\u591a\u4e2a\u8fdb\u7a0b\/\u7ebf\u7a0b\u88ab\u540c\u65f6\u5524\u9192\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">295. LT\u548cET\u7684\u533a\u522b\uff0c\u5e94\u7528\u573a\u666f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6c34\u5e73\u89e6\u53d1<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u53ea\u8981\u6587\u4ef6\u63cf\u8ff0\u7b26\u5c31\u7eea\uff08\u5982\u53ef\u8bfb\uff09\uff0c\u5c31\u4f1a\u6301\u7eed\u901a\u77e5<\/li>\n\n\n\n<li>\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u591a\u6b21\u8c03\u7528read\uff0c\u76f4\u5230\u6570\u636e\u8bfb\u5b8c<\/li>\n\n\n\n<li>\u7f16\u7a0b\u66f4\u7b80\u5355\uff0c\u4e0d\u5bb9\u6613\u9057\u6f0f\u4e8b\u4ef6<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fb9\u6cbf\u89e6\u53d1<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u53ea\u5728\u72b6\u6001\u53d8\u5316\u65f6\u901a\u77e5\u4e00\u6b21\uff08\u5982\u4ece\u4e0d\u53ef\u8bfb\u53d8\u4e3a\u53ef\u8bfb\uff09<\/li>\n\n\n\n<li>\u5e94\u7528\u7a0b\u5e8f\u5fc5\u987b\u4e00\u6b21\u8bfb\u53d6\u6240\u6709\u6570\u636e\uff0c\u76f4\u5230EAGAIN<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u533a\u522b\u5bf9\u6bd4<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u6c34\u5e73\u89e6\u53d1<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fb9\u6cbf\u89e6\u53d1<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u901a\u77e5\u9891\u7387<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6761\u4ef6\u6ee1\u8db3\u5c31\u901a\u77e5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u72b6\u6001\u53d8\u5316\u65f6\u901a\u77e5\u4e00\u6b21<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u8bfb\u53d6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u4ee5\u5206\u591a\u6b21\u8bfb\u53d6<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u987b\u4e00\u6b21\u8bfb\u53d6\u6240\u6709\u6570\u636e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7f16\u7a0b\u590d\u6742\u5ea6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7b80\u5355<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u590d\u6742\uff0c\u5bb9\u6613\u9057\u6f0f\u4e8b\u4ef6<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6027\u80fd<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u80fd\u91cd\u590d\u901a\u77e5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u77e5\u6b21\u6570\u5c11\uff0c\u6027\u80fd\u66f4\u597d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e00\u822c\u5e94\u7528<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9ad8\u6027\u80fd\u670d\u52a1\u5668<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5e94\u7528\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u6c34\u5e73\u89e6\u53d1\u9002\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4e00\u822c\u7f51\u7edc\u5e94\u7528<\/li>\n\n\n\n<li>\u9700\u8981\u7b80\u5355\u7f16\u7a0b\u6a21\u578b\u7684\u573a\u666f<\/li>\n\n\n\n<li>\u5bf9\u6027\u80fd\u8981\u6c42\u4e0d\u6781\u81f4\u7684\u5e94\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fb9\u6cbf\u89e6\u53d1\u9002\u7528<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9ad8\u6027\u80fd\u670d\u52a1\u5668\uff08\u5982Nginx\uff09<\/li>\n\n\n\n<li>\u9700\u8981\u7cbe\u786e\u63a7\u5236\u4e8b\u4ef6\u901a\u77e5\u7684\u573a\u666f<\/li>\n\n\n\n<li>\u5927\u91cf\u5e76\u53d1\u8fde\u63a5\uff0c\u9700\u8981\u51cf\u5c11\u7cfb\u7edf\u8c03\u7528\u7684\u573a\u666f<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">296. \u8c03\u7528send\u51fd\u6570\u53d1\u9001\u6570\u636e\u4e0d\u5168\u600e\u4e48\u529e<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <code>send()<\/code>\u53ef\u80fd\u7531\u4e8e\u5404\u79cd\u539f\u56e0\u65e0\u6cd5\u4e00\u6b21\u6027\u53d1\u9001\u6240\u6709\u6570\u636e\uff0c\u9700\u8981\u6b63\u786e\u5904\u7406\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u56e0\u5206\u6790<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u53d1\u9001\u7f13\u51b2\u533a\u5df2\u6ee1<\/li>\n\n\n\n<li>\u7f51\u7edc\u62e5\u585e<\/li>\n\n\n\n<li>\u5bf9\u7aef\u63a5\u6536\u6162<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1ac\u590d\u5236\u4e0b\u8f7d\/\/ \u65b9\u6cd51\uff1a\u5faa\u73af\u53d1\u9001\u76f4\u5230\u6240\u6709\u6570\u636e\u53d1\u9001\u5b8c\u6210 ssize_t send_all(int sockfd, const void* buf, size_t len) { size_t total_sent = 0; while (total_sent &lt; len) { ssize_t sent = send(sockfd, (char*)buf + total_sent, len &#8211; total_sent, 0); if (sent == -1) { if (errno == EAGAIN || errno == EWOULDBLOCK) { \/\/ \u7f13\u51b2\u533a\u6ee1\uff0c\u9700\u8981\u7b49\u5f85\u53ef\u5199\u4e8b\u4ef6 \/\/ \u4f7f\u7528select\/poll\/epoll\u76d1\u63a7\u53ef\u5199\u4e8b\u4ef6 continue; } else { return -1; \/\/ \u5176\u4ed6\u9519\u8bef } } total_sent += sent; } return total_sent; } \/\/ \u65b9\u6cd52\uff1a\u4f7f\u7528\u975e\u963b\u585eI\/O + I\/O\u591a\u8def\u590d\u7528 \/\/ \u6ce8\u518cEPOLLOUT\u4e8b\u4ef6\uff0c\u5f53socket\u53ef\u5199\u65f6\u7ee7\u7eed\u53d1\u9001\u5269\u4f59\u6570\u636e<\/li>\n\n\n\n<li><strong>\u6700\u4f73\u5b9e\u8df5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u603b\u662f\u68c0\u67e5<code>send()<\/code>\u7684\u8fd4\u56de\u503c<\/li>\n\n\n\n<li>\u5904\u7406<code>EAGAIN<\/code>\/<code>EWOULDBLOCK<\/code>\u9519\u8bef<\/li>\n\n\n\n<li>\u4f7f\u7528\u7f13\u51b2\u533a\u7ba1\u7406\u5f85\u53d1\u9001\u6570\u636e<\/li>\n\n\n\n<li>\u914d\u5408I\/O\u591a\u8def\u590d\u7528\u5904\u7406\u591a\u4e2a\u8fde\u63a5<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">297. 1G\u7684\u6587\u4ef6\u4eceA\u673a\u5668\u53d1\u9001\u5230B\u673a\u5668\uff0c\u600e\u4e48\u53d1\uff08\u5199\u4ee3\u7801\u5b9e\u73b0\uff09<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> \u53d1\u9001\u5927\u6587\u4ef6\u9700\u8981\u8003\u8651\u6548\u7387\u3001\u53ef\u9760\u6027\u548c\u5185\u5b58\u4f7f\u7528\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt;\n#include &lt;string.h&gt;\n#include &lt;unistd.h&gt;\n#include &lt;fcntl.h&gt;\n#include &lt;sys\/socket.h&gt;\n#include &lt;netinet\/in.h&gt;\n#include &lt;arpa\/inet.h&gt;\n\n#define BUFFER_SIZE 8192  \/\/ 8KB\u7f13\u51b2\u533a\n#define PORT 8080\n\n\/\/ \u670d\u52a1\u5668\u7aef\uff08\u63a5\u6536\u6587\u4ef6\uff09\nvoid server_receive_file() {\n    int server_fd = socket(AF_INET, SOCK_STREAM, 0);\n    struct sockaddr_in addr = {0};\n    addr.sin_family = AF_INET;\n    addr.sin_addr.s_addr = INADDR_ANY;\n    addr.sin_port = htons(PORT);\n    \n    bind(server_fd, (struct sockaddr*)&amp;addr, sizeof(addr));\n    listen(server_fd, 5);\n    \n    int client_fd = accept(server_fd, NULL, NULL);\n    \n    \/\/ \u63a5\u6536\u6587\u4ef6\u540d\n    char filename[256];\n    recv(client_fd, filename, sizeof(filename), 0);\n    \n    int file_fd = open(filename, O_WRONLY | O_CREAT, 0644);\n    char buffer[BUFFER_SIZE];\n    \n    ssize_t total_received = 0;\n    while (1) {\n        ssize_t received = recv(client_fd, buffer, sizeof(buffer), 0);\n        if (received &lt;= 0) break;\n        \n        write(file_fd, buffer, received);\n        total_received += received;\n        printf(\"Received: %zd bytes\\n\", total_received);\n    }\n    \n    close(file_fd);\n    close(client_fd);\n    close(server_fd);\n}\n\n\/\/ \u5ba2\u6237\u7aef\uff08\u53d1\u9001\u6587\u4ef6\uff09\nvoid client_send_file(const char* filename) {\n    int sockfd = socket(AF_INET, SOCK_STREAM, 0);\n    struct sockaddr_in addr = {0};\n    addr.sin_family = AF_INET;\n    addr.sin_addr.s_addr = inet_addr(\"\u670d\u52a1\u5668IP\");\n    addr.sin_port = htons(PORT);\n    \n    connect(sockfd, (struct sockaddr*)&amp;addr, sizeof(addr));\n    \n    \/\/ \u53d1\u9001\u6587\u4ef6\u540d\n    send(sockfd, filename, strlen(filename) + 1, 0);\n    \n    int file_fd = open(filename, O_RDONLY);\n    char buffer[BUFFER_SIZE];\n    \n    ssize_t total_sent = 0;\n    while (1) {\n        ssize_t read_bytes = read(file_fd, buffer, sizeof(buffer));\n        if (read_bytes &lt;= 0) break;\n        \n        ssize_t sent = send(sockfd, buffer, read_bytes, 0);\n        if (sent != read_bytes) {\n            \/\/ \u5904\u7406\u53d1\u9001\u4e0d\u5b8c\u6574\u7684\u60c5\u51b5\n            lseek(file_fd, -(read_bytes - sent), SEEK_CUR);\n        }\n        total_sent += sent;\n        printf(\"Sent: %zd bytes\\n\", total_sent);\n    }\n    \n    close(file_fd);\n    close(sockfd);\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f18\u5316\u5efa\u8bae<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4f7f\u7528\u66f4\u5927\u7684\u7f13\u51b2\u533a\uff08\u598264KB\uff09<\/li>\n\n\n\n<li>\u4f7f\u7528\u975e\u963b\u585eI\/O + epoll\u5904\u7406\u591a\u4e2a\u8fde\u63a5<\/li>\n\n\n\n<li>\u6dfb\u52a0\u6821\u9a8c\u548c\u9a8c\u8bc1\u6587\u4ef6\u5b8c\u6574\u6027<\/li>\n\n\n\n<li>\u652f\u6301\u65ad\u70b9\u7eed\u4f20<\/li>\n\n\n\n<li>\u4f7f\u7528\u538b\u7f29\u51cf\u5c11\u4f20\u8f93\u91cf<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">298. \u4ec0\u4e48\u662fTCP\u7684\u7c98\u5305\u95ee\u9898\uff1f\u600e\u4e48\u89e3\u51b3<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c98\u5305\u95ee\u9898<\/strong>\uff1aTCP\u662f\u6d41\u5f0f\u534f\u8bae\uff0c\u6ca1\u6709\u6d88\u606f\u8fb9\u754c\uff0c\u591a\u4e2a\u6d88\u606f\u53ef\u80fd\u88ab\u5408\u5e76\u6210\u4e00\u4e2aTCP\u5305\u53d1\u9001\uff0c\u6216\u5728\u63a5\u6536\u7aef\u4e00\u6b21\u8bfb\u53d6\u5230\u591a\u4e2a\u6d88\u606f\u3002<\/li>\n\n\n\n<li><strong>\u4ea7\u751f\u539f\u56e0<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>Nagle\u7b97\u6cd5<\/strong>\uff1a\u5408\u5e76\u5c0f\u5305\u63d0\u9ad8\u7f51\u7edc\u6548\u7387<\/li>\n\n\n\n<li><strong>\u63a5\u6536\u7f13\u51b2\u533a<\/strong>\uff1a\u53ef\u80fd\u4e00\u6b21\u8bfb\u53d6\u5230\u591a\u4e2a\u6d88\u606f<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\u5ef6\u8fdf<\/strong>\uff1a\u591a\u4e2a\u6d88\u606f\u53ef\u80fd\u540c\u65f6\u5230\u8fbe<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u56fa\u5b9a\u957f\u5ea6\u6d88\u606f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u6d88\u606f\u90fd\u662f\u56fa\u5b9a\u957f\u5ea6<\/li>\n\n\n\n<li>\u7b80\u5355\u4f46\u6d6a\u8d39\u7a7a\u95f4\uff0c\u4e0d\u591f\u7075\u6d3b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7279\u6b8a\u5206\u9694\u7b26<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7528\u7279\u6b8a\u5b57\u7b26\uff08\u5982<code>\\n<\/code>\uff09\u5206\u9694\u6d88\u606f<\/li>\n\n\n\n<li>\u9700\u8981\u8f6c\u4e49\u5904\u7406\uff0c\u9002\u7528\u4e8e\u6587\u672c\u534f\u8bae<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d88\u606f\u5934+\u6d88\u606f\u4f53<\/strong>\uff08\u6700\u5e38\u7528\uff09\uff1a<ul><li>\u6d88\u606f\u5934\u5305\u542b\u6d88\u606f\u4f53\u957f\u5ea6<\/li><li>\u5148\u8bfb\u53d6\u56fa\u5b9a\u957f\u5ea6\u7684\u6d88\u606f\u5934\uff0c\u518d\u8bfb\u53d6\u6307\u5b9a\u957f\u5ea6\u7684\u6d88\u606f\u4f53<\/li><\/ul>c\u590d\u5236\u4e0b\u8f7d\/\/ \u6d88\u606f\u683c\u5f0f\uff1a [4\u5b57\u8282\u957f\u5ea6][\u6d88\u606f\u4f53] typedef struct { uint32_t length; \/\/ \u6d88\u606f\u4f53\u957f\u5ea6 char data[]; \/\/ \u6d88\u606f\u4f53 } message_t; \/\/ \u53d1\u9001\u6d88\u606f void send_message(int sockfd, const char* data, uint32_t len) { uint32_t net_len = htonl(len); \/\/ \u7f51\u7edc\u5b57\u8282\u5e8f send(sockfd, &amp;net_len, 4, 0); \/\/ \u5148\u53d1\u9001\u957f\u5ea6 send(sockfd, data, len, 0); \/\/ \u518d\u53d1\u9001\u6570\u636e } \/\/ \u63a5\u6536\u6d88\u606f char* receive_message(int sockfd) { uint32_t net_len; recv(sockfd, &amp;net_len, 4, MSG_WAITALL); \/\/ \u8bfb\u53d6\u957f\u5ea6 uint32_t len = ntohl(net_len); char* data = malloc(len); recv(sockfd, data, len, MSG_WAITALL); \/\/ \u8bfb\u53d6\u6570\u636e return data; }<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u5c42\u534f\u8bae<\/strong>\uff1a\u5982HTTP\u7684Content-Length\u3001chunked\u7f16\u7801<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">299. Tcp\u548cudp\u7684\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>TCP<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>UDP<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fde\u63a5\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9762\u5411\u8fde\u63a5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u8fde\u63a5<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53ef\u9760\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u9760\u4f20\u8f93\uff0c\u4fdd\u8bc1\u6570\u636e\u987a\u5e8f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u53ef\u9760\u4f20\u8f93\uff0c\u53ef\u80fd\u4e22\u5305\u4e71\u5e8f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6d41\u91cf\u63a7\u5236<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\uff08\u6ed1\u52a8\u7a97\u53e3\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u62e5\u585e\u63a7\u5236<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\uff08\u6162\u542f\u52a8\u3001\u62e5\u585e\u907f\u514d\u7b49\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9996\u90e8\u5f00\u9500<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5927\uff0820\u5b57\u8282\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5c0f\uff088\u5b57\u8282\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f20\u8f93\u6548\u7387<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f8\u5bf9\u8f83\u4f4e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f8\u5bf9\u8f83\u9ad8<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e94\u7528\u573a\u666f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u53ef\u9760\u4f20\u8f93\uff08\u7f51\u9875\u3001\u90ae\u4ef6\u3001\u6587\u4ef6\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b9e\u65f6\u5e94\u7528\uff08\u89c6\u9891\u3001\u8bed\u97f3\u3001\u6e38\u620f\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u8fb9\u754c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6d41\u5f0f\uff0c\u65e0\u6d88\u606f\u8fb9\u754c<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6570\u636e\u62a5\uff0c\u6709\u6d88\u606f\u8fb9\u754c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9009\u62e9\u4f9d\u636e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u7528TCP<\/strong>\uff1a\u9700\u8981\u53ef\u9760\u4f20\u8f93\uff0c\u6570\u636e\u5b8c\u6574\u6027\u91cd\u8981<\/li>\n\n\n\n<li><strong>\u7528UDP<\/strong>\uff1a\u5b9e\u65f6\u6027\u8981\u6c42\u9ad8\uff0c\u53ef\u4ee5\u5bb9\u5fcd\u5c11\u91cf\u4e22\u5305<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">300. tcp\u4e09\u6b21\u63e1\u624b\u5efa\u7acb\u8fde\u63a5\u7684\u8fc7\u7a0b\uff0c\u4e09\u6b21\u63e1\u624b\u8fc7\u7a0b\u901a\u4fe1\u53cc\u65b9\u5404\u81ea\u7684\u72b6\u6001<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7b54\u6848\uff1a<\/strong> <strong>\u4e09\u6b21\u63e1\u624b\u8fc7\u7a0b<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7b2c\u4e00\u6b21\u63e1\u624b<\/strong>\uff08\u5ba2\u6237\u7aef \u2192 \u670d\u52a1\u5668\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u53d1\u9001SYN=1, Seq=x<\/li>\n\n\n\n<li><strong>\u5ba2\u6237\u7aef\u72b6\u6001<\/strong>\uff1aSYN_SENT<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u72b6\u6001<\/strong>\uff1aLISTEN<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b2c\u4e8c\u6b21\u63e1\u624b<\/strong>\uff08\u670d\u52a1\u5668 \u2192 \u5ba2\u6237\u7aef\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u670d\u52a1\u5668\u53d1\u9001SYN=1, ACK=1, Seq=y, Ack=x+1<\/li>\n\n\n\n<li><strong>\u5ba2\u6237\u7aef\u72b6\u6001<\/strong>\uff1aSYN_SENT<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u72b6\u6001<\/strong>\uff1aSYN_RCVD<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b2c\u4e09\u6b21\u63e1\u624b<\/strong>\uff08\u5ba2\u6237\u7aef \u2192 \u670d\u52a1\u5668\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u53d1\u9001ACK=1, Seq=x+1, Ack=y+1<\/li>\n\n\n\n<li><strong>\u5ba2\u6237\u7aef\u72b6\u6001<\/strong>\uff1aESTABLISHED<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u72b6\u6001<\/strong>\uff1aESTABLISHED<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u72b6\u6001\u8f6c\u6362<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">text<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\u5ba2\u6237\u7aef: CLOSED \u2192 SYN_SENT \u2192 ESTABLISHED\n\u670d\u52a1\u5668: CLOSED \u2192 LISTEN \u2192 SYN_RCVD \u2192 ESTABLISHED<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e3a\u4ec0\u4e48\u8981\u4e09\u6b21\u63e1\u624b<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u786e\u8ba4\u53cc\u65b9\u6536\u53d1\u80fd\u529b<\/strong>\uff1a\u4e24\u6b21\u63e1\u624b\u53ea\u80fd\u786e\u8ba4\u5ba2\u6237\u7aef\u2192\u670d\u52a1\u5668\u901a\uff0c\u670d\u52a1\u5668\u2192\u5ba2\u6237\u7aef\u672a\u786e\u8ba4<\/li>\n\n\n\n<li><strong>\u9632\u6b62\u5df2\u5931\u6548\u8fde\u63a5\u8bf7\u6c42<\/strong>\uff1a\u907f\u514d\u7f51\u7edc\u5ef6\u8fdf\u7684\u65e7\u8fde\u63a5\u8bf7\u6c42\u9020\u6210\u6df7\u6dc6<\/li>\n\n\n\n<li>\u534f\u5546\u521d\u59cb\u5e8f\u5217\u53f7\uff0c\u540c\u6b65\u5e8f\u5217\u53f7<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>301. tcp\u56db\u6b21\u6325\u624b\u7684\u8fc7\u7a0b\uff0c\u56db\u6b21\u6325\u624b\u8fc7\u7a0b\u4e2d\u901a\u4fe1\u53cc\u65b9\u5404\u81ea\u7684\u72b6\u6001<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TCP\u4f7f\u7528\u56db\u6b21\u6325\u624b\u6765\u53ef\u9760\u5730\u7ec8\u6b62\u4e00\u4e2a\u8fde\u63a5\u3002\u5047\u8bbe\u5ba2\u6237\u7aef\u4e3b\u52a8\u53d1\u8d77\u5173\u95ed\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7b2c\u4e00\u6b21\u6325\u624b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u53d1\u9001FIN\u62a5\u6587\uff08FIN=1\uff09\uff0c\u8fdb\u5165 <code>FIN_WAIT_1<\/code> \u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b2c\u4e8c\u6b21\u6325\u624b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u670d\u52a1\u7aef\u6536\u5230FIN\u540e\uff0c\u53d1\u9001ACK\u62a5\u6587\u4f5c\u4e3a\u5e94\u7b54\uff0c\u8fdb\u5165 <code>CLOSE_WAIT<\/code> \u72b6\u6001\u3002<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u6536\u5230ACK\u540e\uff0c\u8fdb\u5165 <code>FIN_WAIT_2<\/code> \u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b2c\u4e09\u6b21\u6325\u624b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u670d\u52a1\u7aef\u5904\u7406\u5b8c\u5269\u4f59\u6570\u636e\u540e\uff0c\u53d1\u9001\u81ea\u5df1\u7684FIN\u62a5\u6587\uff0c\u8fdb\u5165 <code>LAST_ACK<\/code> \u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7b2c\u56db\u6b21\u6325\u624b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u6536\u5230\u670d\u52a1\u7aef\u7684FIN\u540e\uff0c\u53d1\u9001ACK\u62a5\u6587\uff0c\u8fdb\u5165 <code>TIME_WAIT<\/code> \u72b6\u6001\uff0c\u7b49\u5f852MSL\u540e\u8fdb\u5165 <code>CLOSED<\/code> \u72b6\u6001\u3002<\/li>\n\n\n\n<li>\u670d\u52a1\u7aef\u6536\u5230ACK\u540e\uff0c\u7acb\u5373\u8fdb\u5165 <code>CLOSED<\/code> \u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u72b6\u6001\u53d8\u5316\u603b\u7ed3<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u52a8\u5173\u95ed\u65b9\uff08\u5ba2\u6237\u7aef\uff09<\/strong>\uff1a<code>ESTABLISHED<\/code> -> <code>FIN_WAIT_1<\/code> -> <code>FIN_WAIT_2<\/code> -> <code>TIME_WAIT<\/code> -> <code>CLOSED<\/code><\/li>\n\n\n\n<li><strong>\u88ab\u52a8\u5173\u95ed\u65b9\uff08\u670d\u52a1\u7aef\uff09<\/strong>\uff1a<code>ESTABLISHED<\/code> -> <code>CLOSE_WAIT<\/code> -> <code>LAST_ACK<\/code> -> <code>CLOSED<\/code><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>302. \u7b80\u8ff0\u4e00\u4e0btcp\u7684\u8d85\u65f6\u673a\u5236\uff0c\u5206\u7c7b<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TCP\u7684\u8d85\u65f6\u673a\u5236\u4e3b\u8981\u662f\u4e3a\u4e86\u5904\u7406\u6570\u636e\u5305\u4e22\u5931\u6216\u786e\u8ba4\u4e22\u5931\u7684\u60c5\u51b5\uff0c\u786e\u4fdd\u53ef\u9760\u6027\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u8d85\u65f6\u673a\u5236<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u63cf\u8ff0<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u91cd\u4f20\u8d85\u65f6\uff08RTO\uff09<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53d1\u9001\u4e00\u4e2a\u6570\u636e\u6bb5\u540e\u542f\u52a8\u5b9a\u65f6\u5668\uff0c\u5982\u679c\u8d85\u8fc7RTO\u65f6\u95f4\u4ecd\u672a\u6536\u5230ACK\uff0c\u5219\u91cd\u4f20\u8be5\u6570\u636e\u6bb5\u3002RTO\u57fa\u4e8eRTT\u52a8\u6001\u8ba1\u7b97\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u575a\u6301\u5b9a\u65f6\u5668<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5f53\u63a5\u6536\u65b9\u7a97\u53e3\u4e3a0\u65f6\uff0c\u53d1\u9001\u65b9\u505c\u6b62\u53d1\u9001\u3002\u575a\u6301\u5b9a\u65f6\u5668\u5468\u671f\u6027\u5730\u5411\u63a5\u6536\u65b9\u67e5\u8be2\u7a97\u53e3\u5927\u5c0f\uff0c\u9632\u6b62\u56e0\u7a97\u53e3\u66f4\u65b0\u62a5\u6587\u4e22\u5931\u800c\u5bfc\u81f4\u8fde\u63a5\u6b7b\u9501\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4fdd\u6d3b\u5b9a\u65f6\u5668<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u68c0\u6d4b\u7a7a\u95f2\u8fde\u63a5\u7684\u53e6\u4e00\u7aef\u662f\u5426\u8fd8\u5b58\u5728\u3002\u5982\u679c\u4e00\u6bb5\u65f6\u95f4\u5185\u6ca1\u6709\u6570\u636e\u4ea4\u6362\uff0c\u4f1a\u53d1\u9001\u63a2\u9488\uff0c\u591a\u6b21\u65e0\u54cd\u5e94\u5219\u5173\u95ed\u8fde\u63a5\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>TIME_WAIT \u5b9a\u65f6\u5668<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b\u52a8\u5173\u95ed\u8fde\u63a5\u540e\uff0c\u4fdd\u6301<code>TIME_WAIT<\/code>\u72b6\u60012MSL\u65f6\u95f4\uff0c\u4ee5\u786e\u4fdd\u6700\u540e\u7684ACK\u80fd\u88ab\u5bf9\u7aef\u6536\u5230\uff0c\u5e76\u8ba9\u65e7\u8fde\u63a5\u7684\u62a5\u6587\u5728\u7f51\u7edc\u4e2d\u6d88\u901d\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>303. tcp\u901a\u4fe1\u8fc7\u7a0b\u7684\u72b6\u6001\u662f\u5982\u4f55\u53d8\u5316\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TCP\u8fde\u63a5\u7684\u751f\u547d\u5468\u671f\u901a\u8fc7\u72b6\u6001\u673a\u63cf\u8ff0\uff0c\u4e3b\u8981\u72b6\u6001\u53d8\u8fc1\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5efa\u7acb\u8fde\u63a5<\/strong>\uff1a<code>CLOSED<\/code> -> (<code>SYN_SENT<\/code> \/ <code>SYN_RCVD<\/code>) -> <code>ESTABLISHED<\/code><\/li>\n\n\n\n<li><strong>\u6570\u636e\u4f20\u8f93<\/strong>\uff1a\u53cc\u65b9\u5728 <code>ESTABLISHED<\/code> \u72b6\u6001\u4e0b\u8fdb\u884c\u5168\u53cc\u5de5\u901a\u4fe1\u3002<\/li>\n\n\n\n<li><strong>\u5173\u95ed\u8fde\u63a5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u52a8\u5173\u95ed<\/strong>\uff1a<code>ESTABLISHED<\/code> -> <code>FIN_WAIT_1<\/code> -> <code>FIN_WAIT_2<\/code> -> <code>TIME_WAIT<\/code> -> <code>CLOSED<\/code><\/li>\n\n\n\n<li><strong>\u88ab\u52a8\u5173\u95ed<\/strong>\uff1a<code>ESTABLISHED<\/code> -> <code>CLOSE_WAIT<\/code> -> <code>LAST_ACK<\/code> -> <code>CLOSED<\/code><\/li>\n\n\n\n<li><strong>\u540c\u65f6\u5173\u95ed<\/strong>\uff1a<code>ESTABLISHED<\/code> -> <code>FIN_WAIT_1<\/code> -> <code>CLOSING<\/code> -> <code>TIME_WAIT<\/code> -> <code>CLOSED<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>304. \u4ece\u5b9e\u7528\u7684\u89d2\u5ea6\u6765\u6559\uff0c\u4e09\u6b21\u63e1\u624b\u7684\u771f\u5b9e\u76ee\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e09\u6b21\u63e1\u624b\u4e0d\u4ec5\u4ec5\u662f\u6253\u62db\u547c\uff0c\u5176\u6838\u5fc3\u76ee\u7684\u6709\u4e09\u4e2a\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u786e\u8ba4\u53cc\u65b9\u7684\u6536\u53d1\u80fd\u529b<\/strong>\uff1a\u901a\u8fc7SYN\u548cACK\u7684\u4ea4\u6362\uff0c\u53cc\u65b9\u90fd\u786e\u8ba4\u4e86\u81ea\u5df1\u80fd\u53d1\u9001\u3001\u5bf9\u65b9\u80fd\u63a5\u6536\uff0c\u5e76\u4e14\u5bf9\u65b9\u80fd\u53d1\u9001\u3001\u81ea\u5df1\u80fd\u63a5\u6536\u3002<\/li>\n\n\n\n<li><strong>\u540c\u6b65\u521d\u59cb\u5e8f\u5217\u53f7\uff08ISN\uff09<\/strong>\uff1a\u4ea4\u6362ISN\uff0c\u4e3a\u540e\u7eed\u7684\u6570\u636e\u4f20\u8f93\u63d0\u4f9b\u8d77\u59cb\u70b9\uff0c\u7528\u4e8e\u6570\u636e\u6392\u5e8f\u548c\u53bb\u91cd\u3002<\/li>\n\n\n\n<li><strong>\u534f\u5546\u91cd\u8981\u53c2\u6570<\/strong>\uff1a\u5728SYN\u62a5\u6587\u7684\u9009\u9879\u5b57\u6bb5\u4e2d\u534f\u5546\u53c2\u6570\uff0c\u5982\u6700\u5927\u62a5\u6587\u6bb5\uff08MSS\uff09\u3001\u7a97\u53e3\u7f29\u653e\u56e0\u5b50\u7b49\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>305. \u7f51\u7edc\u7684\u4e03\u5c42\u6a21\u578b\uff0c\u6bcf\u4e00\u5c42\u7684\u534f\u8bae<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OSI\u4e03\u5c42\u6a21\u578b\u53ca\u5176\u5178\u578b\u534f\u8bae\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u5c42\u6b21<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u529f\u80fd<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u5178\u578b\u534f\u8bae<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">7. \u5e94\u7528\u5c42<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3a\u7528\u6237\u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\u63a5\u53e3<\/td><td class=\"has-text-align-left\" data-align=\"left\">HTTP, FTP, DNS, SMTP<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">6. \u8868\u793a\u5c42<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u3001\u52a0\u5bc6\u89e3\u5bc6<\/td><td class=\"has-text-align-left\" data-align=\"left\">SSL\/TLS, JPEG, ASCII<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">5. \u4f1a\u8bdd\u5c42<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5efa\u7acb\u3001\u7ba1\u7406\u3001\u7ec8\u6b62\u4f1a\u8bdd<\/td><td class=\"has-text-align-left\" data-align=\"left\">RPC, NetBIOS<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">4. \u4f20\u8f93\u5c42<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4f9b\u8fdb\u7a0b\u5230\u8fdb\u7a0b\u7684\u901a\u4fe1<\/td><td class=\"has-text-align-left\" data-align=\"left\">TCP, UDP<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">3. \u7f51\u7edc\u5c42<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4f9b\u4e3b\u673a\u5230\u4e3b\u673a\u7684\u901a\u4fe1\u548c\u8def\u7531<\/td><td class=\"has-text-align-left\" data-align=\"left\">IP, ICMP, ARP<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">2. \u6570\u636e\u94fe\u8def\u5c42<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4f9b\u8282\u70b9\u5230\u8282\u70b9\u7684\u53ef\u9760\u4f20\u8f93<\/td><td class=\"has-text-align-left\" data-align=\"left\">Ethernet, PPP, MAC<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">1. \u7269\u7406\u5c42<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b9a\u4e49\u7535\u6c14\u3001\u673a\u68b0\u7279\u6027<\/td><td class=\"has-text-align-left\" data-align=\"left\">RJ45, \u5149\u7ea4, \u65e0\u7ebf\u7535\u6ce2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>306. \u4e3a\u4ec0\u4e48time_wait\u72b6\u6001\u9700\u8981\u7ecf\u8fc72msl\u624d\u80fd\u8fd4\u56de\u5230close\u72b6\u6001<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>TIME_WAIT<\/code>\u72b6\u6001\u6301\u7eed2MSL\u6709\u4e24\u4e2a\u4e3b\u8981\u539f\u56e0\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u53ef\u9760\u5730\u7ec8\u6b62\u8fde\u63a5<\/strong>\uff1a\u786e\u4fdd\u4e3b\u52a8\u5173\u95ed\u65b9\u53d1\u9001\u7684\u6700\u540e\u4e00\u4e2aACK\u80fd\u5230\u8fbe\u88ab\u52a8\u5173\u95ed\u65b9\u3002\u5982\u679c\u8fd9\u4e2aACK\u4e22\u5931\uff0c\u88ab\u52a8\u5173\u95ed\u65b9\u4f1a\u91cd\u4f20FIN\u30022MSL\u65f6\u95f4\u8db3\u4ee5\u8ba9\u8fd9\u4e2a\u91cd\u4f20\u7684FIN\u5230\u8fbe\uff0c\u5e76\u8ba9\u4e3b\u52a8\u5173\u95ed\u65b9\u518d\u6b21\u53d1\u9001ACK\u3002<\/li>\n\n\n\n<li><strong>\u8ba9\u65e7\u8fde\u63a5\u7684\u62a5\u6587\u5728\u7f51\u7edc\u4e2d\u6d88\u901d<\/strong>\uff1a2MSL\u65f6\u95f4\u786e\u4fdd\u4e86\u672c\u6b21\u8fde\u63a5\u4ea7\u751f\u7684\u6240\u6709\u62a5\u6587\u90fd\u4f1a\u4ece\u7f51\u7edc\u4e2d\u6d88\u5931\uff0c\u4ece\u800c\u4e0d\u4f1a\u5bf9\u540e\u7eed\u5177\u6709\u76f8\u540c\u56db\u5143\u7ec4\uff08\u6e90IP\u3001\u6e90\u7aef\u53e3\u3001\u76ee\u7684IP\u3001\u76ee\u7684\u7aef\u53e3\uff09\u7684\u65b0\u8fde\u63a5\u9020\u6210\u6570\u636e\u6df7\u6dc6\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>307. \u5982\u4f55\u6839\u636eip\u83b7\u53d6\u5bf9\u65b9\u7684mac\u5730\u5740<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u901a\u8fc7<strong>ARP\uff08\u5730\u5740\u89e3\u6790\u534f\u8bae\uff09<\/strong>\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4e3b\u673aA\u60f3\u4e0e\u540c\u4e00\u5c40\u57df\u7f51\u5185\u7684\u4e3b\u673aB\u901a\u4fe1\uff0c\u5df2\u77e5B\u7684IP\u5730\u5740\u3002<\/li>\n\n\n\n<li>A\u5728\u672c\u5c40\u57df\u7f51\u5185<strong>\u5e7f\u64ad<\/strong>\u4e00\u4e2aARP\u8bf7\u6c42\u5305\uff0c\u5185\u5bb9\u4e3a\uff1a\u201c\u8c01\u7684IP\u5730\u5740\u662fB\u7684IP\uff1f\u8bf7\u544a\u8bc9\u4f60\u7684MAC\u5730\u5740\u7ed9\u6211\uff08A\u7684MAC\uff09\u201d\u3002<\/li>\n\n\n\n<li>\u5c40\u57df\u7f51\u5185\u6240\u6709\u4e3b\u673a\u90fd\u4f1a\u6536\u5230\u8be5\u8bf7\u6c42\uff0c\u4f46\u53ea\u6709\u4e3b\u673aB\u4f1a\u8bc6\u522b\u51fa\u81ea\u5df1\u7684IP\uff0c\u5e76\u5411A\u53d1\u9001\u4e00\u4e2a<strong>\u5355\u64ad<\/strong>ARP\u54cd\u5e94\u5305\uff0c\u5305\u542b\u81ea\u5df1\u7684MAC\u5730\u5740\u3002<\/li>\n\n\n\n<li>A\u6536\u5230\u54cd\u5e94\u540e\uff0c\u5c06B\u7684IP-MAC\u5bf9\u5e94\u5173\u7cfb\u5b58\u5165\u81ea\u5df1\u7684ARP\u7f13\u5b58\u8868\uff0c\u7136\u540e\u5c31\u53ef\u4ee5\u8fdb\u884c\u6570\u636e\u94fe\u8def\u5c42\u7684\u5e27\u5c01\u88c5\u548c\u53d1\u9001\u4e86\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>308. proactor\u548creactor\u7684\u533a\u522b\u548c\u7279\u70b9<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e24\u8005\u90fd\u662f\u5904\u7406\u9ad8\u5e76\u53d1IO\u7684\u8bbe\u8ba1\u6a21\u5f0f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">Reactor\uff08\u540c\u6b65IO\uff09<\/th><th class=\"has-text-align-left\" data-align=\"left\">Proactor\uff08\u5f02\u6b65IO\uff09<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6a21\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e94\u7528\u7a0b\u5e8f\u5411\u4e8b\u4ef6\u5206\u79bb\u5668\u6ce8\u518c<strong>\u8bfb\/\u5199\u5c31\u7eea<\/strong>\u4e8b\u4ef6\u3002\u5f53socket\u53ef\u8bfb\u6216\u53ef\u5199\u65f6\uff0c\u4e8b\u4ef6\u5206\u79bb\u5668\u901a\u77e5\u5e94\u7528\u7a0b\u5e8f\uff0c\u5e94\u7528\u7a0b\u5e8f<strong>\u81ea\u5df1\u6267\u884c<\/strong>\u5b9e\u9645\u7684\u8bfb\/\u5199\u64cd\u4f5c\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e94\u7528\u7a0b\u5e8f\u5411\u4e8b\u4ef6\u5206\u79bb\u5668\u6ce8\u518c<strong>\u8bfb\/\u5199\u5b8c\u6210<\/strong>\u4e8b\u4ef6\uff0c\u5e76\u63d0\u4f9b\u4e00\u4e2a\u7f13\u51b2\u533a\u3002<strong>\u64cd\u4f5c\u7cfb\u7edf\u5b8c\u6210<\/strong>\u6574\u4e2aIO\u64cd\u4f5c\u540e\uff0c\u4e8b\u4ef6\u5206\u79bb\u5668\u901a\u77e5\u5e94\u7528\u7a0b\u5e8f\u64cd\u4f5c\u5df2\u5b8c\u6210\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6bd4\u55bb<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5feb\u9012\u5230\u4e86\uff0c\u7269\u4e1a\uff08Reactor\uff09<strong>\u901a\u77e5\u4f60<\/strong>\uff08\u5e94\u7528\u7a0b\u5e8f\uff09\u4e0b\u697c\u6765\u53d6\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f60\u628a\u94a5\u5319\u7ed9\u7269\u4e1a\uff08Proactor\uff09\uff0c\u5feb\u9012\u5230\u4e86\uff0c\u7269\u4e1a<strong>\u5e2e\u4f60<\/strong>\u5f00\u95e8\u628a\u5feb\u9012\u653e\u5230\u5bb6\u91cc\uff0c\u7136\u540e\u901a\u77e5\u4f60\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7f16\u7a0b\u590d\u6742\u5ea6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f8\u5bf9\u8f83\u4f4e\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f8\u5bf9\u8f83\u9ad8\uff0c\u9700\u8981\u5904\u7406\u56de\u8c03\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u63a7\u5236\u6743<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8bfb\u5199\u64cd\u4f5c\u7531\u5e94\u7528\u7ebf\u7a0b\u5b8c\u6210\uff0c\u4f1a\u963b\u585e\u7ebf\u7a0b\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">IO\u64cd\u4f5c\u7531\u64cd\u4f5c\u7cfb\u7edf\u5b8c\u6210\uff0c\u4e0d\u963b\u585e\u5e94\u7528\u7ebf\u7a0b\uff0c\u6027\u80fd\u6f5c\u529b\u66f4\u9ad8\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>309. \u600e\u6837\u52a0\u5feb\u5927\u6587\u4ef6\u5728\u7f51\u7edc\u4e2d\u4f20\u8f93\uff0c\u6839\u636e\u6ed1\u52a8\u7a97\u53e3\u4e0e\u62e5\u585e\u63a7\u5236\u8003\u8651<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4ece\u6ed1\u52a8\u7a97\u53e3\u89d2\u5ea6<\/strong>\uff1a\u589e\u5927\u63a5\u6536\u65b9\u7684\u901a\u544a\u7a97\u53e3\u5927\u5c0f\uff0c\u53ef\u4ee5\u51cf\u5c11\u53d1\u9001\u65b9\u7b49\u5f85ACK\u7684\u6b21\u6570\uff0c\u5b9e\u73b0\u66f4\u5927\u7684\u201c\u6570\u636e\u7ba1\u9053\u201d\uff0c\u63d0\u9ad8\u541e\u5410\u91cf\u3002\u8fd9\u901a\u5e38\u9700\u8981\u8c03\u6574\u7cfb\u7edf\u5185\u6838\u53c2\u6570\u3002<\/li>\n\n\n\n<li><strong>\u4ece\u62e5\u585e\u63a7\u5236\u89d2\u5ea6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u7a33\u5b9a\u9636\u6bb5\uff0cTCP\u4f7f\u7528\u62e5\u585e\u907f\u514d\u7b97\u6cd5\uff0c\u7ebf\u6027\u589e\u52a0\u7a97\u53e3\uff0c\u80fd\u8f83\u597d\u5730\u5229\u7528\u5e26\u5bbd\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528\u5177\u6709\u66f4\u9ad8\u6548\u7387\u7684\u62e5\u585e\u63a7\u5236\u7b97\u6cd5\uff0c\u5982<strong>BBR<\/strong>\uff0c\u5b83\u4e0d\u57fa\u4e8e\u4e22\u5305\u800c\u662f\u57fa\u4e8e\u6d4b\u91cf\u5e26\u5bbd\u548cRTT\u6765\u8c03\u6574\u53d1\u9001\u901f\u7387\uff0c\u5728\u9ad8\u5e26\u5bbd\u3001\u9ad8\u5ef6\u8fdf\u7684\u7f51\u7edc\u4e2d\u8868\u73b0\u66f4\u597d\u3002<\/li>\n\n\n\n<li>\u5bf9\u4e8e\u975e\u5b9e\u65f6\u8981\u6c42\u7684\u5927\u6587\u4ef6\uff0c\u53ef\u4ee5\u5f00\u542f\u591a\u4e2a\u5e76\u884cTCP\u8fde\u63a5\uff08\u5982\u8fc5\u96f7\u3001\u6d4f\u89c8\u5668\u4e0b\u8f7d\uff09\uff0c\u6bcf\u4e2a\u8fde\u63a5\u72ec\u7acb\u8fdb\u884c\u62e5\u585e\u63a7\u5236\uff0c\u4ece\u800c\u805a\u5408\u5e26\u5bbd\uff0c\u4f46\u8fd9\u53ef\u80fd\u5bf9\u7f51\u7edc\u516c\u5e73\u6027\u6709\u5f71\u54cd\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>310. http\u548chttps\u7684\u533a\u522b<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTP<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTPS<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u534f\u8bae<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e94\u7528\u5c42\u534f\u8bae<\/td><td class=\"has-text-align-left\" data-align=\"left\">HTTP over SSL\/TLS<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9ed8\u8ba4\u7aef\u53e3<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">80<\/td><td class=\"has-text-align-left\" data-align=\"left\">443<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b89\u5168\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u660e\u6587\u4f20\u8f93\uff0c\u4e0d\u5b89\u5168<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u52a0\u5bc6\u4f20\u8f93\uff0c\u5b89\u5168<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5de5\u4f5c\u539f\u7406<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f4\u63a5\u4f20\u8f93\u6570\u636e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5148\u5efa\u7acbSSL\/TLS\u5b89\u5168\u8fde\u63a5\uff0c\u518d\u52a0\u5bc6\u4f20\u8f93\u6570\u636e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8bc1\u4e66<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u9700\u8981<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9700\u8981\u7531CA\u9881\u53d1\u7684\u6570\u5b57\u8bc1\u4e66\u6765\u9a8c\u8bc1\u670d\u52a1\u5668\u8eab\u4efd<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6027\u80fd<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901f\u5ea6\u5feb\uff0c\u5f00\u9500\u5c0f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901f\u5ea6\u7a0d\u6162\uff0c\u56e0\u4e3a\u52a0\u5bc6\u89e3\u5bc6\u6709\u8ba1\u7b97\u5f00\u9500<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>SEO<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u4f18\u52bf<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u641c\u7d22\u5f15\u64ce\u4f1a\u4f18\u5148\u6392\u540dHTTPS\u7f51\u7ad9<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>311. http\u6709\u54ea\u4e9b\u5e38\u7528\u7684\u65b9\u6cd5\uff0chttp\u7684\u7aef\u53e3\u53f7<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5e38\u7528\u65b9\u6cd5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>GET<\/code>\uff1a\u8bf7\u6c42\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><code>POST<\/code>\uff1a\u63d0\u4ea4\u6570\u636e\uff0c\u901a\u5e38\u7528\u4e8e\u521b\u5efa\u65b0\u8d44\u6e90\u6216\u89e6\u53d1\u5904\u7406\u3002<\/li>\n\n\n\n<li><code>PUT<\/code>\uff1a\u66f4\u65b0\u8d44\u6e90\uff08\u6574\u4f53\u66ff\u6362\uff09\u3002<\/li>\n\n\n\n<li><code>PATCH<\/code>\uff1a\u90e8\u5206\u66f4\u65b0\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><code>DELETE<\/code>\uff1a\u5220\u9664\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><code>HEAD<\/code>\uff1a\u83b7\u53d6\u8d44\u6e90\u7684\u5143\u4fe1\u606f\uff0c\u4e0d\u8fd4\u56de\u62a5\u6587\u4e3b\u4f53\u3002<\/li>\n\n\n\n<li><code>OPTIONS<\/code>\uff1a\u67e5\u8be2\u670d\u52a1\u5668\u652f\u6301\u7684\u9488\u5bf9\u7279\u5b9a\u8d44\u6e90\u7684\u65b9\u6cd5\u3002<\/li>\n\n\n\n<li><code>CONNECT<\/code>\uff1a\u5efa\u7acb\u96a7\u9053\uff0c\u7528\u4e8eSSL\/TLS\u4ee3\u7406\u3002<\/li>\n\n\n\n<li><code>TRACE<\/code>\uff1a\u8ffd\u8e2a\u8def\u5f84\uff0c\u7528\u4e8e\u8bca\u65ad\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>HTTP\u7aef\u53e3\u53f7<\/strong>\uff1a\u9ed8\u8ba4\u662f <strong>80<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>312. SSH\u57fa\u4e8eTCP\u8fd8\u662fUDP?\u7aef\u53e3\u53f7<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SSH\u57fa\u4e8e<strong>TCP<\/strong>\uff0c\u7aef\u53e3\u53f7\u662f<strong>22<\/strong>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>313. \u8bb2\u4e00\u4e0bWLAN<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WLAN\u662f\u65e0\u7ebf\u5c40\u57df\u7f51\u7684\u7f29\u5199\uff0c\u5b83\u4f7f\u7528\u65e0\u7ebf\u7535\u6ce2\uff08\u800c\u975e\u7535\u7f06\uff09\u5728\u77ed\u8ddd\u79bb\u5185\u8fde\u63a5\u8bbe\u5907\u3002\u6700\u5e38\u89c1\u7684WLAN\u6280\u672f\u662fWi-Fi\uff0c\u57fa\u4e8eIEEE 802.11\u7cfb\u5217\u6807\u51c6\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ec4\u6210\u90e8\u5206<\/strong>\uff1a\u65e0\u7ebf\u8def\u7531\u5668\u6216\u63a5\u5165\u70b9\uff08AP\uff09\u3001\u65e0\u7ebf\u7f51\u5361\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u79fb\u52a8\u6027\u3001\u5e03\u7ebf\u65b9\u4fbf\u3002<\/li>\n\n\n\n<li><strong>\u6311\u6218<\/strong>\uff1a\u5b89\u5168\u6027\u3001\u4fe1\u53f7\u5e72\u6270\u3001\u901f\u5ea6\u7a33\u5b9a\u6027\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>314. \u7f51\u5361\u7684\u4e2d\u65ad\uff0c\u7f51\u7edc\u65b9\u9762\u9047\u5230\u74f6\u9888\u600e\u4e48\u89e3\u51b3<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7f51\u5361\u4e2d\u65ad<\/strong>\uff1a\u5f53\u7f51\u5361\u63a5\u6536\u5230\u6570\u636e\u5305\u65f6\uff0c\u4f1a\u4ea7\u751f\u4e00\u4e2a\u786c\u4ef6\u4e2d\u65ad\u4fe1\u53f7\u7ed9CPU\u3002CPU\u6682\u505c\u5f53\u524d\u4efb\u52a1\uff0c\u6267\u884c\u4e2d\u65ad\u5904\u7406\u7a0b\u5e8f\uff08\u5c5e\u4e8e\u9a71\u52a8\u7a0b\u5e8f\u7684\u4e00\u90e8\u5206\uff09\u6765\u5c06\u6570\u636e\u5305\u4ece\u7f51\u5361\u7f13\u51b2\u533a\u62f7\u8d1d\u5230\u5185\u6838\u5185\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\u74f6\u9888\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>NAPI<\/strong>\uff1a\u5728\u9ad8\u6d41\u91cf\u4e0b\uff0c\u91c7\u7528\u8f6e\u8be2\u800c\u975e\u6bcf\u6b21\u5305\u90fd\u4e2d\u65ad\uff0c\u51cf\u5c11\u4e2d\u65ad\u5f00\u9500\u3002<\/li>\n\n\n\n<li><strong>\u591a\u961f\u5217\u7f51\u5361\u4e0eRSS<\/strong>\uff1a\u5c06\u7f51\u7edc\u6d41\u91cf\u5206\u6563\u5230\u591a\u4e2aCPU\u6838\u5fc3\u4e0a\u5904\u7406\u3002<\/li>\n\n\n\n<li><strong>\u4e2d\u65ad\u4eb2\u548c\u6027<\/strong>\uff1a\u5c06\u7279\u5b9a\u7f51\u5361\u7684\u4e2d\u65ad\u7ed1\u5b9a\u5230\u7279\u5b9a\u7684CPU\u6838\u5fc3\u3002<\/li>\n\n\n\n<li><strong>\u534f\u8bae\u6808\u4f18\u5316<\/strong>\uff1a\u8c03\u6574\u5185\u6838\u7f51\u7edc\u53c2\u6570\u3002<\/li>\n\n\n\n<li><strong>\u5e94\u7528\u5c42\u4f18\u5316<\/strong>\uff1a\u4f7f\u7528\u66f4\u9ad8\u6548\u7684\u7f51\u7edc\u7f16\u7a0b\u6a21\u578b\uff08\u5982epoll\uff09\u3001\u51cf\u5c11\u6570\u636e\u62f7\u8d1d\u3002<\/li>\n\n\n\n<li><strong>\u786c\u4ef6\u5347\u7ea7<\/strong>\uff1a\u5347\u7ea7\u7f51\u5361\u3001\u589e\u52a0\u5e26\u5bbd\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>315. \u4ec0\u4e48\u65f6\u5019\u4f1a\u4ea7\u751ftime_wait\uff0c\u5982\u679c\u7cfb\u7edf\u51fa\u73b0\u5927\u89c4\u6a21time_wait\u600e\u4e48\u5904\u7406<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4ea7\u751f\u65f6\u673a<\/strong>\uff1a\u5728TCP\u8fde\u63a5\u4e2d\uff0c<strong>\u4e3b\u52a8\u5173\u95ed\u8fde\u63a5\u7684\u4e00\u65b9<\/strong>\u4f1a\u8fdb\u5165<code>TIME_WAIT<\/code>\u72b6\u6001\u3002<\/li>\n\n\n\n<li><strong>\u5927\u89c4\u6a21TIME_WAIT\u5904\u7406<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u4ee3\u7801\u5c42\u9762<\/strong>\uff1a\u786e\u4fdd\u7531\u5ba2\u6237\u7aef\u4e3b\u52a8\u5173\u95ed\u7684\u8fde\u63a5\u6539\u4e3a\u7531\u670d\u52a1\u5668\u7aef\u4e3b\u52a8\u5173\u95ed\uff08\u5982\u679c\u67b6\u6784\u5141\u8bb8\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u957f\u8fde\u63a5<\/strong>\uff1a\u51cf\u5c11TCP\u8fde\u63a5\u7684\u5efa\u7acb\u548c\u5173\u95ed\u6b21\u6570\u3002<\/li>\n\n\n\n<li><strong>\u8c03\u6574\u5185\u6838\u53c2\u6570<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>net.ipv4.tcp_tw_reuse<\/code>\uff1a\u5141\u8bb8\u5c06\u5904\u4e8e<code>TIME_WAIT<\/code>\u7684socket\u7528\u4e8e\u65b0\u7684TCP\u8fde\u63a5\uff08\u4ec5\u4f5c\u4e3a\u5ba2\u6237\u7aef\u65f6\u5b89\u5168\uff09\u3002<\/li>\n\n\n\n<li><code>net.ipv4.tcp_tw_recycle<\/code>\uff1a<strong>\uff08\u4e0d\u63a8\u8350\uff0c\u5df2\u79fb\u9664\uff09<\/strong><\/li>\n\n\n\n<li><code>net.ipv4.tcp_max_tw_buckets<\/code>\uff1a\u9650\u5236\u7cfb\u7edf\u4e2d<code>TIME_WAIT<\/code> socket\u7684\u6700\u5927\u6570\u91cf\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>316. TCP\u4e2d\u4f55\u65f6\u4f1a\u51fa\u73b0reset\u62a5\u6587<\/strong><\/h3>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Reactor\uff08\u540c\u6b65IO\uff09<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>317. \u5728TCP\u4e2d\u8c03\u7528read\u547d\u4ee4\u65f6\uff0c\u8fd4\u56de\u503c\u5927\u4e8e0\uff0c\u7b49\u4e8e0\uff0c\u5c0f\u4e8e0\u5206\u522b\u4ee3\u8868\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8fd4\u56de\u503c > 0<\/strong>\uff1a\u6210\u529f\u8bfb\u53d6\u5230\u7684\u5b57\u8282\u6570\u3002<\/li>\n\n\n\n<li><strong>\u8fd4\u56de\u503c == 0<\/strong>\uff1a\u8868\u793a\u5bf9\u7aef\u5df2\u7ecf\u5173\u95ed\u4e86\u8fde\u63a5\uff08\u6536\u5230\u4e86FIN\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8fd4\u56de\u503c &lt; 0<\/strong>\uff1a\u8868\u793a\u53d1\u751f\u9519\u8bef\u3002\u9700\u8981\u68c0\u67e5<code>errno<\/code>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>EINTR<\/code>\uff1a\u8c03\u7528\u88ab\u4fe1\u53f7\u4e2d\u65ad\uff0c\u901a\u5e38\u5e94\u91cd\u8bd5\u3002<\/li>\n\n\n\n<li><code>EAGAIN<\/code> \u6216 <code>EWOULDBLOCK<\/code>\uff1a\u5728\u975e\u963b\u585e\u6a21\u5f0f\u4e0b\uff0c\u5f53\u524d\u6ca1\u6709\u6570\u636e\u53ef\u8bfb\u3002<\/li>\n\n\n\n<li>\u5176\u4ed6\u9519\u8bef\uff1a\u5982<code>ECONNRESET<\/code>\uff08\u8fde\u63a5\u88ab\u5bf9\u7aef\u91cd\u7f6e\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>318. HTTP\u6709\u54ea\u4e9b\u8bf7\u6c42\u65b9\u5f0f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c311\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>319. GET\u8bf7\u6c42\u548cPOST\u8bf7\u6c42\u7684\u533a\u522b<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">GET<\/th><th class=\"has-text-align-left\" data-align=\"left\">POST<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8bed\u4e49<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u83b7\u53d6\u8d44\u6e90\uff08\u5e42\u7b49\u3001\u5b89\u5168\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4ea4\u6570\u636e\uff0c\u53ef\u80fd\u4fee\u6539\u670d\u52a1\u5668\u72b6\u6001\uff08\u975e\u5e42\u7b49\u3001\u4e0d\u5b89\u5168\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u4f4d\u7f6e<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u8fc7URL\u7684\u67e5\u8be2\u5b57\u7b26\u4e32\u4f20\u9012<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u8fc7\u8bf7\u6c42\u4f53\u4f20\u9012<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u5927\u5c0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53d7URL\u957f\u5ea6\u9650\u5236\uff08\u901a\u5e382KB-8KB\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7406\u8bba\u4e0a\u65e0\u9650\u5236\uff0c\u53d7\u670d\u52a1\u5668\u914d\u7f6e\u7ea6\u675f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b89\u5168\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53c2\u6570\u5728URL\u4e2d\u660e\u6587\u663e\u793a\uff0c\u53ef\u88ab\u7f13\u5b58\u3001\u8bb0\u5f55\u65e5\u5fd7<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u76f8\u5bf9\u5b89\u5168\uff08\u4f46HTTPS\u624d\u662f\u771f\u6b63\u7684\u5b89\u5168\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7f13\u5b58\/\u4e66\u7b7e<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u88ab\u7f13\u5b58\uff0c\u53ef\u6536\u85cf\u4e3a\u4e66\u7b7e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u5e38\u4e0d\u88ab\u7f13\u5b58\uff0c\u4e0d\u53ef\u6536\u85cf<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u540e\u9000\/\u5237\u65b0<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u5bb3<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6d4f\u89c8\u5668\u4f1a\u63d0\u793a\u91cd\u65b0\u63d0\u4ea4\u6570\u636e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>320. \u4ec0\u4e48\u662f\u5f3a\u7f13\u5b58\u548c\u534f\u5546\u7f13\u5b58<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6d4f\u89c8\u5668\u7f13\u5b58\u673a\u5236\u7684\u4e24\u4e2a\u9636\u6bb5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5f3a\u7f13\u5b58<\/strong>\uff1a\u6d4f\u89c8\u5668\u5728\u8bf7\u6c42\u8d44\u6e90\u524d\uff0c\u5148\u68c0\u67e5\u672c\u5730\u7f13\u5b58\u3002\u5982\u679c\u7f13\u5b58\u672a\u8fc7\u671f\uff08\u901a\u8fc7<code>Cache-Control<\/code>\u7684<code>max-age<\/code>\u6216<code>Expires<\/code>\u5934\u5224\u65ad\uff09\uff0c\u5219\u76f4\u63a5\u4f7f\u7528\u7f13\u5b58\uff0c<strong>\u4e0d\u53d1\u9001\u4efb\u4f55\u8bf7\u6c42\u5230\u670d\u52a1\u5668<\/strong>\u3002\u72b6\u6001\u7801\u4e3a200 (from cache)\u3002<\/li>\n\n\n\n<li><strong>\u534f\u5546\u7f13\u5b58<\/strong>\uff1a\u5f53\u5f3a\u7f13\u5b58\u5931\u6548\u65f6\uff0c\u6d4f\u89c8\u5668\u4f1a\u643a\u5e26\u7f13\u5b58\u6807\u8bc6\uff08\u5982<code>If-Modified-Since<\/code>\/<code>Last-Modified<\/code>\u6216<code>If-None-Match<\/code>\/<code>ETag<\/code>\uff09\u5411\u670d\u52a1\u5668\u53d1\u8d77\u8bf7\u6c42\u3002\u670d\u52a1\u5668\u68c0\u67e5\u8d44\u6e90\u662f\u5426\u53d8\u5316\u3002\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u672a\u53d8\u5316\uff0c\u8fd4\u56de <strong>304 Not Modified<\/strong>\uff0c\u6d4f\u89c8\u5668\u7ee7\u7eed\u4f7f\u7528\u7f13\u5b58\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u5df2\u53d8\u5316\uff0c\u8fd4\u56de <strong>200 OK<\/strong> \u548c\u65b0\u8d44\u6e90\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>321. HTTP1.0\u548cHTTP1.1\u7684\u533a\u522b<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTP\/1.0<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTP\/1.1<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fde\u63a5\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9ed8\u8ba4\u975e\u6301\u4e45\u8fde\u63a5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9ed8\u8ba4\u6301\u4e45\u8fde\u63a5\uff08Keep-Alive\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Host\u5934<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u975e\u5fc5\u9700<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u9700\uff0c\u652f\u6301\u865a\u62df\u4e3b\u673a<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7f13\u5b58\u63a7\u5236<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b\u8981\u4f7f\u7528Expires<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5f15\u5165\u66f4\u7cbe\u7ec6\u7684Cache-Control<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7ba1\u9053\u5316<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\uff0c\u4f46\u5b58\u5728\u961f\u5934\u963b\u585e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8303\u56f4\u8bf7\u6c42<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\uff08Range\u5934\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9519\u8bef\u901a\u77e5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">&#8211;<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65b0\u589e24\u4e2a\u72b6\u6001\u7801\uff08\u5982100 Continue\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>322. HTTP2.0\u4e0eHTTP1.1\u7684\u533a\u522b<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTP\/1.1<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTP\/2<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u534f\u8bae\u683c\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6587\u672c\u683c\u5f0f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e8c\u8fdb\u5236\u5206\u5e27<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u591a\u8def\u590d\u7528<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301\uff0c\u5b58\u5728\u961f\u5934\u963b\u585e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\uff0c\u4e00\u4e2a\u8fde\u63a5\u4e0a\u53ef\u4ea4\u9519\u4f20\u8f93\u591a\u4e2a\u6d88\u606f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5934\u90e8\u538b\u7f29<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301\uff0c\u5934\u90e8\u91cd\u590d\u4f20\u8f93<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f7f\u7528HPACK\u7b97\u6cd5\u538b\u7f29<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u670d\u52a1\u5668\u63a8\u9001<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u670d\u52a1\u5668\u53ef\u4e3b\u52a8\u63a8\u9001\u8d44\u6e90<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6d41\u4f18\u5148\u7ea7<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\u8bbe\u7f6e\u8bf7\u6c42\u4f18\u5148\u7ea7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>323. HTTPS\u548cHTTP\u6709\u54ea\u4e9b\u533a\u522b<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c310\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>324. HTTPS\u5de5\u4f5c\u539f\u7406<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>TCP\u4e09\u6b21\u63e1\u624b<\/strong>\uff1a\u5efa\u7acbTCP\u8fde\u63a5\u3002<\/li>\n\n\n\n<li><strong>TLS\u63e1\u624b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>Client Hello<\/strong>\uff1a\u5ba2\u6237\u7aef\u53d1\u9001\u652f\u6301\u7684TLS\u7248\u672c\u3001\u52a0\u5bc6\u5957\u4ef6\u5217\u8868\u3001\u4e00\u4e2a\u968f\u673a\u6570\u3002<\/li>\n\n\n\n<li><strong>Server Hello<\/strong>\uff1a\u670d\u52a1\u5668\u9009\u62e9TLS\u7248\u672c\u3001\u52a0\u5bc6\u5957\u4ef6\uff0c\u53d1\u9001\u81ea\u5df1\u7684\u6570\u5b57\u8bc1\u4e66\u548c\u4e00\u4e2a\u968f\u673a\u6570\u3002<\/li>\n\n\n\n<li><strong>\u8bc1\u4e66\u9a8c\u8bc1<\/strong>\uff1a\u5ba2\u6237\u7aef\u9a8c\u8bc1\u670d\u52a1\u5668\u8bc1\u4e66\u7684\u5408\u6cd5\u6027\u3002<\/li>\n\n\n\n<li><strong>\u9884\u4e3b\u5bc6\u94a5<\/strong>\uff1a\u5ba2\u6237\u7aef\u751f\u6210\u9884\u4e3b\u5bc6\u94a5\uff0c\u7528\u670d\u52a1\u5668\u516c\u94a5\u52a0\u5bc6\u540e\u53d1\u9001\u7ed9\u670d\u52a1\u5668\u3002<\/li>\n\n\n\n<li><strong>\u4f1a\u8bdd\u5bc6\u94a5\u751f\u6210<\/strong>\uff1a\u53cc\u65b9\u4f7f\u7528\u968f\u673a\u6570\u548c\u9884\u4e3b\u5bc6\u94a5\uff0c\u72ec\u7acb\u8ba1\u7b97\u51fa\u76f8\u540c\u7684\u4f1a\u8bdd\u5bc6\u94a5\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u52a0\u5bc6\u901a\u4fe1<\/strong>\uff1a\u540e\u7eed\u7684\u5e94\u7528\u6570\u636e\uff08HTTP\u62a5\u6587\uff09\u90fd\u4f7f\u7528\u4f1a\u8bdd\u5bc6\u94a5\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u4f20\u8f93\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>325. TCP\u548cUDP\u7684\u533a\u522b<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">TCP<\/th><th class=\"has-text-align-left\" data-align=\"left\">UDP<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fde\u63a5\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9762\u5411\u8fde\u63a5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u8fde\u63a5<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53ef\u9760\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u9760\uff0c\u6709\u786e\u8ba4\u3001\u91cd\u4f20\u3001\u6392\u5e8f\u673a\u5236<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u53ef\u9760\uff0c\u5c3d\u6700\u5927\u52aa\u529b\u4ea4\u4ed8<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6d41\u91cf\u63a7\u5236<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\uff08\u6ed1\u52a8\u7a97\u53e3\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u62e5\u585e\u63a7\u5236<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6709\uff08\u6162\u542f\u52a8\u3001\u62e5\u585e\u907f\u514d\u7b49\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u987a\u5e8f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4fdd\u8bc1\u6570\u636e\u987a\u5e8f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u4fdd\u8bc1\u987a\u5e8f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u901f\u5ea6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6162\uff0c\u5f00\u9500\u5927<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5feb\uff0c\u5f00\u9500\u5c0f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u8fb9\u754c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9762\u5411\u5b57\u8282\u6d41\uff0c\u65e0\u8fb9\u754c<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u9762\u5411\u6570\u636e\u62a5\uff0c\u6709\u8fb9\u754c<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5934\u90e8\u5927\u5c0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">20-60\u5b57\u8282<\/td><td class=\"has-text-align-left\" data-align=\"left\">8\u5b57\u8282<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e94\u7528\u573a\u666f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6587\u4ef6\u4f20\u8f93\u3001\u90ae\u4ef6\u3001Web\u6d4f\u89c8<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u89c6\u9891\u6d41\u3001\u8bed\u97f3\u3001DNS\u67e5\u8be2\u3001\u6e38\u620f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>326. \u4e09\u6b21\u63e1\u624b\u7684\u8fc7\u7a0b\uff0c\u4e3a\u4ec0\u4e48\u8981\u8fdb\u884c\u4e09\u6b21\u63e1\u624b<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c300\u9898\u548c\u7b2c304\u9898\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e3a\u4ec0\u4e48\u662f\u4e09\u6b21\uff1f<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9632\u6b62\u5df2\u5931\u6548\u7684\u8fde\u63a5\u8bf7\u6c42\u62a5\u6587\u7a81\u7136\u53c8\u4f20\u9001\u5230\u670d\u52a1\u5668\uff0c\u5bfc\u81f4\u9519\u8bef<\/strong>\u3002\u4e24\u6b21\u63e1\u624b\u65e0\u6cd5\u9632\u6b62\u8fd9\u79cd\u60c5\u51b5\uff0c\u670d\u52a1\u5668\u4f1a\u767d\u767d\u6d6a\u8d39\u8d44\u6e90\u3002\u4e09\u6b21\u63e1\u624b\u786e\u4fdd\u4e86\u53cc\u65b9\u7684\u53d1\u4fe1\u548c\u6536\u4fe1\u80fd\u529b\u90fd\u5f97\u5230\u786e\u8ba4\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>327. \u56db\u6b21\u6325\u624b\u7684\u8fc7\u7a0b\uff0c\u4e3a\u4ec0\u4e48\u8981\u8fdb\u884c\u56db\u6b21\u63e1\u624b<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c301\u9898\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e3a\u4ec0\u4e48\u9700\u8981\u56db\u6b21\uff1f<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u56e0\u4e3aTCP\u8fde\u63a5\u662f<strong>\u5168\u53cc\u5de5<\/strong>\u7684\uff0c\u6bcf\u4e2a\u65b9\u5411\u5fc5\u987b\u5355\u72ec\u5173\u95ed\u3002\u4e00\u65b9\u53d1\u9001FIN\u53ea\u8868\u793a\u5b83\u4e0d\u518d\u53d1\u9001\u6570\u636e\uff0c\u4f46\u8fd8\u53ef\u4ee5\u63a5\u6536\u6570\u636e\u3002\u53e6\u4e00\u65b9\u9700\u8981\u5148ACK\u8fd9\u4e2aFIN\uff0c\u7136\u540e\u5728\u5b83\u81ea\u5df1\u4e5f\u6ca1\u6709\u6570\u636e\u8981\u53d1\u9001\u65f6\uff0c\u518d\u53d1\u9001\u81ea\u5df1\u7684FIN\u3002\u56e0\u6b64\u9700\u8981\u4e24\u6b21\u72ec\u7acb\u7684\u201cFIN-ACK\u201d\u8fc7\u7a0b\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>328. TCP\u8fde\u63a5\u4e3a\u5982\u4f55\u4fdd\u8bc1\u53ef\u9760\u6027<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u901a\u8fc7\u4ee5\u4e0b\u673a\u5236\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5e8f\u5217\u53f7\u548c\u786e\u8ba4\u5e94\u7b54\uff08ACK\uff09<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u8d85\u65f6\u91cd\u4f20<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u6821\u9a8c\u548c<\/strong><\/li>\n\n\n\n<li><strong>\u6d41\u91cf\u63a7\u5236<\/strong>\uff08\u6ed1\u52a8\u7a97\u53e3\uff09\u3002<\/li>\n\n\n\n<li><strong>\u62e5\u585e\u63a7\u5236<\/strong>\uff08\u6162\u542f\u52a8\u3001\u62e5\u585e\u907f\u514d\u3001\u5feb\u901f\u91cd\u4f20\u3001\u5feb\u901f\u6062\u590d\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>329. \u62e5\u585e\u63a7\u5236\u7684\u5b9e\u73b0\u673a\u5236<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TCP\u62e5\u585e\u63a7\u5236\u5305\u542b\u56db\u4e2a\u4e3b\u8981\u7b97\u6cd5\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6162\u542f\u52a8<\/strong>\uff1a\u8fde\u63a5\u5f00\u59cb\u65f6\uff0c\u62e5\u585e\u7a97\u53e3\u6307\u6570\u589e\u957f\u3002<\/li>\n\n\n\n<li><strong>\u62e5\u585e\u907f\u514d<\/strong>\uff1a\u7a97\u53e3\u589e\u957f\u5230\u6162\u542f\u52a8\u9608\u503c\u540e\uff0c\u7ebf\u6027\u589e\u957f\u3002<\/li>\n\n\n\n<li><strong>\u5feb\u901f\u91cd\u4f20<\/strong>\uff1a\u6536\u52303\u4e2a\u91cd\u590dACK\u65f6\uff0c\u7acb\u5373\u91cd\u4f20\u4e22\u5931\u7684\u62a5\u6587\u3002<\/li>\n\n\n\n<li><strong>\u5feb\u901f\u6062\u590d<\/strong>\uff1a\u5728\u5feb\u901f\u91cd\u4f20\u540e\uff0c\u6267\u884c\u5feb\u901f\u6062\u590d\uff0c\u5c06\u7a97\u53e3\u51cf\u534a\u540e\u8fdb\u5165\u62e5\u585e\u907f\u514d\u9636\u6bb5\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>330. HTTP\u7684keep_Alive\u662f\u4ec0\u4e48\uff1fTCP\u7684keepalive\u548cHTTP\u7684Keep-Alive\u662f\u4e00\u4e2a\u4e1c\u897f\u5417<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP Keep-Alive<\/strong>\uff1a\u6307\u7684\u662f<strong>HTTP\u6301\u4e45\u8fde\u63a5<\/strong>\u3002\u5141\u8bb8\u5728\u540c\u4e00\u4e2aTCP\u8fde\u63a5\u4e0a\u53d1\u9001\u548c\u63a5\u6536\u591a\u4e2aHTTP\u8bf7\u6c42\/\u54cd\u5e94\u3002\u8fd9\u662f<strong>\u5e94\u7528\u5c42<\/strong>\u7684\u884c\u4e3a\u3002<\/li>\n\n\n\n<li><strong>TCP Keepalive<\/strong>\uff1a\u662fTCP\u534f\u8bae\u5c42\u7684\u4e00\u4e2a\u673a\u5236\u3002\u5f53\u4e00\u4e2a\u8fde\u63a5\u957f\u65f6\u95f4\u7a7a\u95f2\u65f6\uff0cTCP\u4f1a\u5468\u671f\u6027\u5730\u53d1\u9001\u201c\u4fdd\u6d3b\u201d\u63a2\u6d4b\u5305\uff0c\u4ee5\u68c0\u6d4b\u5bf9\u7aef\u662f\u5426\u8fd8\u5b58\u6d3b\u3002\u8fd9\u662f<strong>\u4f20\u8f93\u5c42<\/strong>\u7684\u884c\u4e3a\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b83\u4eec\u662f\u4e24\u4e2a\u4e0d\u540c\u5c42\u6b21\u3001\u76ee\u7684\u4e0d\u540c\u7684\u6982\u5ff5\u3002<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>331. DNS\u67e5\u8be2\u8fc7\u7a0b<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u67e5\u8be2<code>www.example.com<\/code>\u4e3a\u4f8b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6d4f\u89c8\u5668\u7f13\u5b58<\/strong> -> <strong>\u64cd\u4f5c\u7cfb\u7edf\u7f13\u5b58<\/strong> -> <strong>\u672c\u5730DNS\u670d\u52a1\u5668<\/strong>\uff08\u9012\u5f52\u67e5\u8be2\uff09\u3002<\/li>\n\n\n\n<li>\u672c\u5730DNS\u670d\u52a1\u5668\u8fdb\u884c\u8fed\u4ee3\u67e5\u8be2\uff1a\n<ul class=\"wp-block-list\">\n<li>\u95ee <strong>\u6839\u57df\u540d\u670d\u52a1\u5668<\/strong>\uff1a<code>.com<\/code>\u7684TLD\u670d\u52a1\u5668\u5730\u5740\u3002<\/li>\n\n\n\n<li>\u95ee <strong>.com TLD\u670d\u52a1\u5668<\/strong>\uff1a<code>example.com<\/code>\u7684\u6743\u5a01\u57df\u540d\u670d\u52a1\u5668\u5730\u5740\u3002<\/li>\n\n\n\n<li>\u95ee <strong><a href=\"https:\/\/example.com\/\">example.com<\/a>\u6743\u5a01\u670d\u52a1\u5668<\/strong>\uff1a<code>www.example.com<\/code>\u7684IP\u5730\u5740\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u672c\u5730DNS\u670d\u52a1\u5668\u5c06IP\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\uff0c\u5e76\u7f13\u5b58\u7ed3\u679c\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>332. DNS\u67e5\u8be2\u7684\u4e24\u79cd\u65b9\u5f0f<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9012\u5f52\u67e5\u8be2<\/strong>\uff1a\u5ba2\u6237\u7aef\u5411\u672c\u5730DNS\u670d\u52a1\u5668\u53d1\u51fa\u67e5\u8be2\uff0c\u8981\u6c42\u670d\u52a1\u5668\u5fc5\u987b\u8fd4\u56de\u6700\u7ec8\u7684IP\u5730\u5740\u6216\u9519\u8bef\u4fe1\u606f\u3002<strong>\u5ba2\u6237\u7aef\u53ea\u9700\u95ee\u4e00\u6b21<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u8fed\u4ee3\u67e5\u8be2<\/strong>\uff1a\u672c\u5730DNS\u670d\u52a1\u5668\u5411\u6839\u3001TLD\u3001\u6743\u5a01\u670d\u52a1\u5668\u9010\u7ea7\u67e5\u8be2\uff0c\u6bcf\u4e00\u7ea7\u670d\u52a1\u5668\u53ea\u8fd4\u56de\u4e0b\u4e00\u7ea7\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u7531\u672c\u5730DNS\u670d\u52a1\u5668\u81ea\u5df1\u7ee7\u7eed\u67e5\u8be2\u3002<strong>\u670d\u52a1\u5668\u4e4b\u95f4\u901a\u5e38\u662f\u8fed\u4ee3\u67e5\u8be2<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>333. CDN\u662f\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CDN\u662f\u5185\u5bb9\u5206\u53d1\u7f51\u7edc\u3002\u5b83\u901a\u8fc7\u5c06\u5185\u5bb9\u7f13\u5b58\u5230\u5168\u7403\u5404\u5730\u7684\u8fb9\u7f18\u8282\u70b9\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u6237\u53ef\u4ee5\u4ece\u5730\u7406\u4e0a\u6700\u8fd1\u7684\u8282\u70b9\u83b7\u53d6\u6240\u9700\u5185\u5bb9\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u51cf\u5c11\u7f51\u7edc\u5ef6\u8fdf\u3001\u63d0\u9ad8\u5185\u5bb9\u52a0\u8f7d\u901f\u5ea6\u3001\u51cf\u8f7b\u6e90\u7ad9\u8d1f\u8f7d\u3002<\/li>\n\n\n\n<li><strong>\u539f\u7406<\/strong>\uff1a\u901a\u8fc7DNS\u89e3\u6790\u5c06\u7528\u6237\u8bf7\u6c42\u5bfc\u5411\u79bb\u4ed6\u6700\u8fd1\u7684CDN\u8282\u70b9\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>334. cookie\u548csessions\u548ctoken\u7684\u533a\u522b\u662f\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">Cookie<\/th><th class=\"has-text-align-left\" data-align=\"left\">Session<\/th><th class=\"has-text-align-left\" data-align=\"left\">Token\uff08\u5982JWT\uff09<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b58\u50a8\u4f4d\u7f6e<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5ba2\u6237\u7aef\u6d4f\u89c8\u5668<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u670d\u52a1\u5668\u7aef<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5ba2\u6237\u7aef<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b89\u5168\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u4f4e\uff0c\u6613\u88ab\u7a83\u53d6<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u9ad8\uff0c\u4fe1\u606f\u5728\u670d\u52a1\u5668<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f83\u9ad8\uff0c\u4f46Token\u672c\u8eab\u9700\u9632\u6cc4\u9732<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6269\u5c55\u6027<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u597d<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5dee\uff0c\u670d\u52a1\u5668\u96c6\u7fa4\u95f4\u540c\u6b65\u590d\u6742<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u597d\uff0c\u65e0\u72b6\u6001<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8de8\u57df<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53d7\u540c\u6e90\u7b56\u7565\u9650\u5236<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f9d\u8d56Cookie<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ef\u653e\u5728\u8bf7\u6c42\u5934\u4e2d\uff0c\u652f\u6301\u8de8\u57df<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5de5\u4f5c\u65b9\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u670d\u52a1\u5668Set-Cookie\uff0c\u5ba2\u6237\u7aef\u81ea\u52a8\u643a\u5e26<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u670d\u52a1\u5668\u751f\u6210Session ID\u901a\u8fc7Cookie\u4f20\u9012\uff0c\u5ba2\u6237\u7aef\u643a\u5e26ID<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u670d\u52a1\u5668\u751f\u6210Token\uff0c\u5ba2\u6237\u7aef\u5728Header\u4e2d\u643a\u5e26<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>335. TCP\/IP\u4e03\u5c42\u6a21\u578b\u4e2d\uff0c\u6bcf\u4e00\u5c42\u5206\u522b\u6709\u4ec0\u4e48\u534f\u8bae<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TCP\/IP\u6a21\u578b\u5e38\u88ab\u8bf4\u6210\u56db\u5c42\u6216\u4e94\u5c42\u3002\u6309\u4e94\u5c42\u6a21\u578b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u5c42\u6b21<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u534f\u8bae<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e94\u7528\u5c42<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">HTTP, FTP, DNS, SMTP, SSH<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4f20\u8f93\u5c42<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">TCP, UDP<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7f51\u7edc\u5c42<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">IP, ICMP, IGMP<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u94fe\u8def\u5c42<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Ethernet, PPP, ARP<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u7269\u7406\u5c42<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">IEEE 802.3\u7b49<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>336. TCP\u53ea\u8fdb\u884c\u4e24\u6b21\u63e1\u624b\u4f1a\u6709\u4ec0\u4e48\u95ee\u9898<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3b\u8981\u95ee\u9898\u662f<strong>\u5df2\u5931\u6548\u7684\u8fde\u63a5\u8bf7\u6c42\u62a5\u6587\u7a81\u7136\u53c8\u4f20\u9001\u5230\u670d\u52a1\u5668\uff0c\u5bfc\u81f4\u9519\u8bef<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u573a\u666f<\/strong>\uff1a\u4e00\u4e2a\u6ede\u540e\u7684SYN\u5305\u5230\u8fbe\u670d\u52a1\u5668\uff0c\u670d\u52a1\u5668\u8bef\u4ee5\u4e3a\u662f\u65b0\u7684\u8fde\u63a5\u8bf7\u6c42\u5e76\u56de\u5e94\uff0c\u5982\u679c\u53ea\u6709\u4e24\u6b21\u63e1\u624b\uff0c\u670d\u52a1\u5668\u5c31\u8ba4\u4e3a\u8fde\u63a5\u5df2\u5efa\u7acb\uff0c\u4ece\u800c\u6d6a\u8d39\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>\u4e09\u6b21\u63e1\u624b\u89e3\u51b3<\/strong>\uff1a\u5ba2\u6237\u7aef\u4e0d\u4f1a\u786e\u8ba4\u8fd9\u4e2a\u9648\u65e7\u7684SYN-ACK\uff0c\u8fde\u63a5\u65e0\u6cd5\u5efa\u7acb\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>337. \u8fde\u63a5\u961f\u5217\u548c\u4e09\u6b21\u63e1\u624b\u4e4b\u95f4\u7684\u5173\u7cfb<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u670d\u52a1\u5668\u7aef\uff0c\u5185\u6838\u4e3a\u6bcf\u4e2a\u76d1\u542c\u5957\u63a5\u5b57\u7ef4\u62a4\u4e24\u4e2a\u961f\u5217\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u534a\u8fde\u63a5\u961f\u5217\uff08SYN\u961f\u5217\uff09<\/strong>\uff1a\u670d\u52a1\u5668\u6536\u5230SYN\u5305\uff0c\u56de\u590dSYN-ACK\u540e\uff0c\u8fde\u63a5\u653e\u5165\u6b64\u961f\u5217\uff08\u72b6\u6001<code>SYN_RCVD<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5168\u8fde\u63a5\u961f\u5217\uff08Accept\u961f\u5217\uff09<\/strong>\uff1a\u670d\u52a1\u5668\u6536\u5230\u7b2c\u4e09\u6b21\u63e1\u624b\u7684ACK\u540e\uff0c\u8fde\u63a5\u4ece\u534a\u8fde\u63a5\u961f\u5217\u79fb\u5165\u6b64\u961f\u5217\uff08\u72b6\u6001<code>ESTABLISHED<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u5e94\u7528\u7a0b\u5e8f\u8c03\u7528<code>accept()<\/code>\uff0c\u53ea\u662f\u4ece\u5168\u8fde\u63a5\u961f\u5217\u4e2d\u53d6\u51fa\u4e00\u4e2a\u5df2\u5efa\u7acb\u7684\u8fde\u63a5\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>338. \u4ec0\u4e48\u662fTCP\u7684\u8fde\u63a5<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TCP\u8fde\u63a5\u662f\u4e00\u4e2a\u903b\u8f91\u4e0a\u7684\u3001\u7aef\u5230\u7aef\u7684\u901a\u4fe1\u901a\u9053\u3002\u5b83\u7531<strong>\u6e90IP\u3001\u6e90\u7aef\u53e3\u3001\u76ee\u7684IP\u3001\u76ee\u7684\u7aef\u53e3<\/strong>\u8fd9\u4e2a\u56db\u5143\u7ec4\u552f\u4e00\u6807\u8bc6\u3002\u8fde\u63a5\u5728\u901a\u4fe1\u524d\u9700\u8981\u901a\u8fc7\u4e09\u6b21\u63e1\u624b\u5efa\u7acb\uff0c\u5728\u901a\u4fe1\u540e\u901a\u8fc7\u56db\u6b21\u6325\u624b\u91ca\u653e\uff0c\u4fdd\u8bc1\u4e86\u6570\u636e\u4f20\u8f93\u7684\u53ef\u9760\u6027\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>339. \u7aef\u53e3\u662f\u7528\u6765\u6807\u8bc6\u4ec0\u4e48\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7aef\u53e3\u53f7\u662f\u4e00\u4e2a16\u4f4d\u7684\u6570\u5b57\uff0c\u7528\u4e8e\u5728<strong>\u4e00\u53f0\u4e3b\u673a\u4e0a<\/strong>\u6807\u8bc6\u4e00\u4e2a\u5177\u4f53\u7684<strong>\u5e94\u7528\u7a0b\u5e8f\u8fdb\u7a0b<\/strong>\u3002IP\u5730\u5740\u6807\u8bc6\u4e86\u4e3b\u673a\uff0c\u800c\u7aef\u53e3\u53f7\u6807\u8bc6\u4e86\u4e3b\u673a\u4e0a\u7684\u7279\u5b9a\u670d\u52a1\u6216\u7a0b\u5e8f\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>340. WebSocket\u4e0eHTTP\u6709\u4ec0\u4e48\u533a\u522b<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u7b2c\u4e00\u90e8\u5206\uff1aWebSocket \u662f\u4ec0\u4e48\uff1f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u7b80\u5355\u6765\u8bf4\uff0c<strong>WebSocket \u662f\u4e00\u79cd\u7f51\u7edc\u901a\u4fe1\u534f\u8bae<\/strong>\uff0c\u5b83\u5141\u8bb8\u5728\u5355\u4e2a\u3001\u957f\u671f\u7684\u8fde\u63a5\u4e0a\u8fdb\u884c<strong>\u5168\u53cc\u5de5<\/strong>\u901a\u4fe1\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u4eec\u6765\u62c6\u89e3\u8fd9\u4e2a\u5b9a\u4e49\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u534f\u8bae<\/strong>\uff1a\u5c31\u50cf HTTP \u662f\u6d4f\u89c8\u5668\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u7ea6\u5b9a\u597d\u7684\u901a\u4fe1\u89c4\u5219\u4e00\u6837\uff0cWebSocket \u4e5f\u662f\u4e00\u5957\u89c4\u5219\u3002<\/li>\n\n\n\n<li><strong>\u5355\u4e2a\u3001\u957f\u671f\u7684\u8fde\u63a5<\/strong>\uff1a\u5ba2\u6237\u7aef\uff08\u5982\u6d4f\u89c8\u5668\uff09\u548c\u670d\u52a1\u5668\u4e00\u65e6\u901a\u8fc7 WebSocket \u63e1\u624b\u6210\u529f\uff0c\u5c31\u4f1a\u5efa\u7acb\u4e00\u4e2a\u6301\u7eed\u7684\u8fde\u63a5\u3002\u8fd9\u4e2a\u8fde\u63a5\u5728\u9700\u8981\u901a\u4fe1\u671f\u95f4\u4f1a\u4e00\u76f4\u4fdd\u6301\u6253\u5f00\uff0c\u800c\u4e0d\u662f\u50cf HTTP \u90a3\u6837\u6bcf\u6b21\u8bf7\u6c42\u540e\u90fd\u65ad\u5f00\u3002<\/li>\n\n\n\n<li><strong>\u5168\u53cc\u5de5<\/strong>\uff1a\u8fd9\u662f\u6700\u5173\u952e\u7684\u4e00\u70b9\u3002\u5b83\u610f\u5473\u7740<strong>\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u53ef\u4ee5\u968f\u65f6\u3001\u72ec\u7acb\u5730\u5411\u5bf9\u65b9\u53d1\u9001\u6570\u636e<\/strong>\uff0c\u5c31\u50cf\u6253\u7535\u8bdd\u4e00\u6837\uff0c\u53cc\u65b9\u53ef\u4ee5\u540c\u65f6\u8bf4\u8bdd\u548c\u6536\u542c\u3002\u8fd9\u4e0e HTTP \u7684\u201c\u4e00\u95ee\u4e00\u7b54\u201d\u6a21\u5f0f\u6709\u672c\u8d28\u533a\u522b\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WebSocket \u7684\u8bbe\u8ba1\u76ee\u6807<\/strong>\u5c31\u662f\u4e3a\u4e86\u89e3\u51b3 HTTP \u5728\u5b9e\u65f6\u6027\u8981\u6c42\u9ad8\u7684\u573a\u666f\u4e0b\u7684\u4f4e\u6548\u95ee\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\u7b2c\u4e8c\u90e8\u5206\uff1aWebSocket \u4e0e HTTP \u7684\u6838\u5fc3\u533a\u522b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3a\u4e86\u66f4\u76f4\u89c2\u5730\u7406\u89e3\uff0c\u6211\u4eec\u53ef\u4ee5\u7528\u4e00\u4e2a\u6bd4\u55bb\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP<\/strong>\uff1a\u50cf <strong>\u53d1\u9001\u4fe1\u4ef6<\/strong>\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f60\u5199\u4e00\u5c01\u4fe1\uff08\u8bf7\u6c42\uff09\uff0c\u5bc4\u51fa\u53bb\u3002<\/li>\n\n\n\n<li>\u90ae\u5c40\uff08\u7f51\u7edc\uff09\u9001\u8fbe\u3002<\/li>\n\n\n\n<li>\u5bf9\u65b9\u6536\u5230\u540e\uff0c\u518d\u5199\u4e00\u5c01\u56de\u4fe1\uff08\u54cd\u5e94\uff09\uff0c\u5bc4\u56de\u6765\u3002<\/li>\n\n\n\n<li>\u6bcf\u6b21\u901a\u4fe1\u90fd\u9700\u8981\u91cd\u65b0\u5efa\u7acb\u4e00\u6b21\u8fde\u63a5\uff0c\u975e\u5e38\u7e41\u7410\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>WebSocket<\/strong>\uff1a\u50cf <strong>\u6253\u7535\u8bdd<\/strong>\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f60\u5148\u62e8\u53f7\uff08HTTP \u63e1\u624b\u8bf7\u6c42\uff09\u3002<\/li>\n\n\n\n<li>\u5bf9\u65b9\u63a5\u542c\uff08\u63e1\u624b\u54cd\u5e94\uff09\u3002<\/li>\n\n\n\n<li>\u4ece\u6b64\uff0c\u8fde\u63a5\u5efa\u7acb\uff0c\u4f60\u4eec\u53ef\u4ee5\u968f\u65f6\u5411\u5bf9\u65b9\u8bf4\u8bdd\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u8bf4\u8bdd\uff0c\u76f4\u5230\u4e00\u65b9\u6302\u65ad\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0b\u9762\u662f\u5177\u4f53\u7684\u6280\u672f\u5bf9\u6bd4\u8868\u683c\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTP<\/th><th class=\"has-text-align-left\" data-align=\"left\">WebSocket<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u901a\u4fe1\u6a21\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u534a\u53cc\u5de5<\/strong>\uff08\u8bf7\u6c42-\u54cd\u5e94\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5168\u53cc\u5de5<\/strong>\uff08\u53cc\u5411\u901a\u4fe1\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fde\u63a5\u751f\u547d\u5468\u671f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u77ed\u8fde\u63a5<\/strong>\uff1a\u6bcf\u6b21\u8bf7\u6c42-\u54cd\u5e94\u540e\u8fde\u63a5\u5173\u95ed\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u957f\u8fde\u63a5<\/strong>\uff1a\u63e1\u624b\u6210\u529f\u540e\uff0c\u8fde\u63a5\u4fdd\u6301\u6253\u5f00\uff0c\u76f4\u5230\u4e00\u65b9\u4e3b\u52a8\u5173\u95ed\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u901a\u4fe1\u53d1\u8d77\u65b9<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u53ea\u80fd\u7531<strong>\u5ba2\u6237\u7aef<\/strong>\u53d1\u8d77\u8bf7\u6c42\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u90fd\u53ef\u4ee5\u4e3b\u52a8<\/strong>\u5411\u5bf9\u65b9\u53d1\u9001\u6d88\u606f\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u63a8\u9001<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u652f\u6301\u670d\u52a1\u5668\u4e3b\u52a8\u63a8\u9001\u3002\u9700\u8981\u5ba2\u6237\u7aef\u8f6e\u8be2\uff08\u6548\u7387\u4f4e\uff09\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u652f\u6301\u670d\u52a1\u5668<strong>\u4e3b\u52a8\u3001\u5b9e\u65f6<\/strong>\u5730\u5411\u5ba2\u6237\u7aef\u63a8\u9001\u6570\u636e\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u534f\u8bae\u5f00\u9500<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5927<\/strong>\uff1a\u6bcf\u6b21\u8bf7\u6c42\u548c\u54cd\u5e94\u90fd\u5305\u542b\u5b8c\u6574\u7684<strong>\u5934\u90e8\u4fe1\u606f<\/strong>\uff08Header\uff09\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5c0f<\/strong>\uff1a\u5efa\u7acb\u8fde\u63a5\u540e\uff0c\u6570\u636e\u4f20\u8f93\u7684\u5305\u683c\u5f0f\u975e\u5e38\u8f7b\u91cf\uff0c\u5934\u90e8\u53ea\u6709\u51e0\u5b57\u8282\u3002<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7f51\u9875\u6d4f\u89c8\u3001API \u8c03\u7528\u3001\u8868\u5355\u63d0\u4ea4\u7b49\u4f20\u7edf Web \u5e94\u7528\u3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b9e\u65f6\u804a\u5929\u3001\u5728\u7ebf\u6e38\u620f\u3001\u80a1\u7968\u884c\u60c5\u3001\u534f\u540c\u7f16\u8f91\u7b49\u5b9e\u65f6\u5e94\u7528\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\u7b2c\u4e09\u90e8\u5206\uff1a\u6df1\u5165\u7406\u89e3\u5de5\u4f5c\u539f\u7406<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">HTTP \u7684\u5de5\u4f5c\u6d41\u7a0b\uff08\u8bf7\u6c42-\u54cd\u5e94\u6a21\u578b\uff09<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u53d1\u8d77\u4e00\u4e2a HTTP \u8bf7\u6c42\uff08\u4f8b\u5982\uff0c\u83b7\u53d6\u4e00\u4e2a\u7f51\u9875\uff09\u3002<\/li>\n\n\n\n<li>\u670d\u52a1\u5668\u5904\u7406\u8bf7\u6c42\u5e76\u8fd4\u56de\u4e00\u4e2a HTTP \u54cd\u5e94\u3002<\/li>\n\n\n\n<li>\u8fde\u63a5\u65ad\u5f00\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u5ba2\u6237\u7aef\u9700\u8981\u65b0\u6570\u636e\uff0c\u5fc5\u987b<strong>\u91cd\u590d\u6b65\u9aa4 1-3<\/strong>\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5bf9\u4e8e\u5b9e\u65f6\u6570\u636e\uff0cHTTP \u7684\u7b28\u62d9\u89e3\u51b3\u65b9\u6848\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8f6e\u8be2<\/strong>\uff1a\u5ba2\u6237\u7aef\u6bcf\u9694\u51e0\u79d2\u5c31\u5411\u670d\u52a1\u5668\u53d1\u4e00\u4e2a HTTP \u8bf7\u6c42\u95ee\uff1a\u201c\u6709\u65b0\u6570\u636e\u5417\uff1f\u201d \u4e0d\u7ba1\u670d\u52a1\u5668\u6709\u6ca1\u6709\u65b0\u6570\u636e\uff0c\u90fd\u8981\u56de\u5e94\u3002\u8fd9\u4f1a\u4ea7\u751f\u5927\u91cf\u65e0\u6548\u8bf7\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u957f\u8f6e\u8be2<\/strong>\uff1a\u5ba2\u6237\u7aef\u53d1\u4e00\u4e2a\u8bf7\u6c42\uff0c\u670d\u52a1\u5668\u5982\u679c\u6ca1\u65b0\u6570\u636e\uff0c\u5c31\u628a\u8fd9\u4e2a\u8bf7\u6c42\u6302\u8d77\uff0c\u76f4\u5230\u6709\u6570\u636e\u6216\u8d85\u65f6\u624d\u8fd4\u56de\u3002\u5ba2\u6237\u7aef\u6536\u5230\u54cd\u5e94\u540e\u7acb\u5373\u518d\u53d1\u4e00\u4e2a\u65b0\u7684\u8bf7\u6c42\u3002\u8fd9\u6bd4\u666e\u901a\u8f6e\u8be2\u597d\u4e00\u4e9b\uff0c\u4f46\u4ecd\u7136\u57fa\u4e8e HTTP\uff0c\u5f00\u9500\u4e0d\u5c0f\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">WebSocket \u7684\u5de5\u4f5c\u6d41\u7a0b\uff08\u63e1\u624b+\u6301\u4e45\u8fde\u63a5\uff09<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">WebSocket \u8fde\u63a5\u5efa\u7acb\u8fc7\u7a0b\u5de7\u5999\u5730\u5229\u7528\u4e86 HTTP \u6765\u201c\u5347\u7ea7\u201d\u534f\u8bae\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>HTTP \u63e1\u624b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u53d1\u9001\u4e00\u4e2a\u7279\u6b8a\u7684 HTTP \u8bf7\u6c42\uff0c\u5176\u5934\u90e8\u5305\u542b <code>Connection: Upgrade<\/code> \u548c <code>Upgrade: websocket<\/code> \u7b49\u5b57\u6bb5\u3002\u610f\u601d\u662f\uff1a\u201c\u670d\u52a1\u5668\uff0c\u6211\u60f3\u628a\u6211\u4eec\u7684\u534f\u8bae\u5347\u7ea7\u6210 WebSocket\u3002\u201d<\/li>\n\n\n\n<li>\u670d\u52a1\u5668\u5982\u679c\u652f\u6301 WebSocket\uff0c\u4f1a\u8fd4\u56de\u4e00\u4e2a <code>HTTP 101 Switching Protocols<\/code> \u7684\u54cd\u5e94\uff0c\u8868\u793a\uff1a\u201c\u540c\u610f\u5347\u7ea7\u534f\u8bae\u3002\u201d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5efa\u7acb WebSocket \u8fde\u63a5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63e1\u624b\u6210\u529f\u540e\uff0c<strong>\u4e4b\u524d\u7684 HTTP \u8fde\u63a5\u5c31\u88ab\u201c\u5347\u7ea7\u201d\u4e86<\/strong>\u3002\u6b64\u65f6\u7684\u901a\u4fe1\u4e0d\u518d\u8d70 HTTP \u534f\u8bae\uff0c\u800c\u662f\u4f7f\u7528 WebSocket \u534f\u8bae\u3002<\/li>\n\n\n\n<li>\u8fd9\u4e2a TCP \u8fde\u63a5\u4f1a\u4fdd\u6301\u6253\u5f00\u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u53cc\u5411\u6570\u636e\u4f20\u8f93<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u6b64\u4e4b\u540e\uff0c\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u90fd\u53ef\u4ee5\u968f\u65f6\u3001\u975e\u5e38\u8f7b\u91cf\u5730\u5411\u8fd9\u4e2a\u8fde\u63a5\u4e0a\u53d1\u9001\u6570\u636e\u5e27\uff0c\u65e0\u9700\u989d\u5916\u7684\u534f\u8bae\u5934\u5f00\u9500\u3002\u5b9e\u73b0\u4e86\u771f\u6b63\u7684\u5b9e\u65f6\u3001\u53cc\u5411\u901a\u4fe1\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fde\u63a5\u5173\u95ed<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5f53\u4e00\u65b9\uff08\u5ba2\u6237\u7aef\u6216\u670d\u52a1\u5668\uff09\u51b3\u5b9a\u4e0d\u518d\u9700\u8981\u901a\u4fe1\u65f6\uff0c\u53ef\u4ee5\u53d1\u9001\u4e00\u4e2a\u5173\u95ed\u5e27\u6765\u4f18\u96c5\u5730\u7ec8\u6b62\u8fde\u63a5\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">\u603b\u7ed3<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP<\/strong> \u662f Web \u7684\u57fa\u7840\uff0c\u662f\u4e3a<strong>\u5355\u5411\u8bf7\u6c42-\u54cd\u5e94<\/strong>\u800c\u8bbe\u8ba1\u7684\uff0c\u975e\u5e38\u9002\u5408\u52a0\u8f7d\u7f51\u9875\u3001\u63d0\u4ea4\u8868\u5355\u7b49\u4e0d\u8981\u6c42\u9ad8\u5b9e\u65f6\u6027\u7684\u573a\u666f\u3002<\/li>\n\n\n\n<li><strong>WebSocket<\/strong> \u662f\u5728 HTTP \u57fa\u7840\u4e0a\u53d1\u5c55\u800c\u6765\u7684<strong>\u8865\u5145\u534f\u8bae<\/strong>\uff0c\u5b83\u901a\u8fc7\u4e00\u6b21 HTTP \u63e1\u624b\u5347\u7ea7\u8fde\u63a5\uff0c\u5efa\u7acb\u8d77\u4e00\u4e2a<strong>\u6301\u4e45\u5316\u3001\u4f4e\u5ef6\u8fdf\u3001\u5168\u53cc\u5de5<\/strong>\u7684\u901a\u9053\uff0c\u4e13\u95e8\u7528\u4e8e\u89e3\u51b3<strong>\u5b9e\u65f6\u53cc\u5411\u901a\u4fe1<\/strong>\u7684\u9700\u6c42\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7279\u6027<\/th><th class=\"has-text-align-left\" data-align=\"left\">HTTP<\/th><th class=\"has-text-align-left\" data-align=\"left\">WebSocket<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u901a\u4fe1\u6a21\u5f0f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u534a\u53cc\u5de5\uff0c\u8bf7\u6c42-\u54cd\u5e94<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5168\u53cc\u5de5\uff0c\u53cc\u5411\u901a\u4fe1<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u8fde\u63a5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u77ed\u8fde\u63a5\uff08HTTP\/1.1\u53ef\u6301\u4e45\u4f46\u4ecd\u662f\u8bf7\u6c42-\u54cd\u5e94\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u957f\u8fde\u63a5\uff0c\u5efa\u7acb\u540e\u6301\u7eed\u6253\u5f00<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u6570\u636e\u4ea4\u6362<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5ba2\u6237\u7aef\u53d1\u8d77\u8bf7\u6c42\uff0c\u670d\u52a1\u5668\u624d\u80fd\u54cd\u5e94<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u670d\u52a1\u5668\u53ef\u4ee5\u4e3b\u52a8\u5411\u5ba2\u6237\u7aef\u63a8\u9001\u6570\u636e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5934\u90e8\u5f00\u9500<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6bcf\u6b21\u8bf7\u6c42\/\u54cd\u5e94\u90fd\u5305\u542b\u5b8c\u6574\u7684HTTP\u5934<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5efa\u7acb\u8fde\u63a5\u65f6\u6709\u63e1\u624b\uff0c\u4e4b\u540e\u6570\u636e\u5e27\u5934\u5f88\u5c0f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4f20\u7edfWeb\u9875\u9762\u52a0\u8f7d\u3001API\u8c03\u7528<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b9e\u65f6\u5e94\u7528\uff08\u804a\u5929\u3001\u6e38\u620f\u3001\u80a1\u7968\u884c\u60c5\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>341. \u670d\u52a1\u7aef\u662f\u5982\u4f55\u89e3\u6790HTTP\u8bf7\u6c42\u7684\u6570\u636e<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8bfb\u53d6\u8bf7\u6c42\u884c<\/strong>\uff1a\u89e3\u6790\u65b9\u6cd5\uff08GET\/POST\uff09\u3001URL\u3001HTTP\u7248\u672c\u3002<\/li>\n\n\n\n<li><strong>\u8bfb\u53d6\u8bf7\u6c42\u5934<\/strong>\uff1a\u9010\u884c\u8bfb\u53d6\u76f4\u5230\u7a7a\u884c\uff0c\u89e3\u6790\u5934\u5b57\u6bb5\uff08Host, Content-Type, Content-Length\u7b49\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8bfb\u53d6\u8bf7\u6c42\u4f53<\/strong>\uff1a\u6839\u636e<code>Content-Length<\/code>\u6216<code>Transfer-Encoding: chunked<\/code>\u8bfb\u53d6\u76f8\u5e94\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u5904\u7406<\/strong>\uff1a\u6839\u636e\u89e3\u6790\u51fa\u7684\u4fe1\u606f\u8fdb\u884c\u8def\u7531\u548c\u4e1a\u52a1\u903b\u8f91\u5904\u7406\u3002<\/li>\n\n\n\n<li><strong>\u751f\u6210\u54cd\u5e94<\/strong>\uff1a\u751f\u6210\u72b6\u6001\u884c\u3001\u54cd\u5e94\u5934\u548c\u54cd\u5e94\u4f53\uff0c\u53d1\u9001\u56de\u5ba2\u6237\u7aef\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>342. TCP\u8fde\u63a5\u4f7f\u7528\u6765\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TCP\u8fde\u63a5\u4e3b\u8981\u89e3\u51b3\u7684\u662f\u5728<strong>\u4e0d\u53ef\u9760\u7684IP\u7f51\u7edc<\/strong>\u4e4b\u4e0a\uff0c\u63d0\u4f9b<strong>\u53ef\u9760\u7684\u3001\u9762\u5411\u8fde\u63a5\u7684\u3001\u57fa\u4e8e\u5b57\u8282\u6d41\u7684<\/strong>\u6570\u636e\u4f20\u8f93\u670d\u52a1\u3002\u5b83\u89e3\u51b3\u4e86\u6570\u636e\u4e22\u5931\u3001\u4e71\u5e8f\u3001\u91cd\u590d\u3001\u6d41\u91cf\u63a7\u5236\u548c\u7f51\u7edc\u62e5\u585e\u7b49\u95ee\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>343. TCP\u521d\u59cb\u5e8f\u5217\u53f7ISN\u600e\u4e48\u53d6\u503c\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ISN\u4e0d\u662f\u4ece0\u62161\u5f00\u59cb\u7684\u56fa\u5b9a\u503c\u3002\u8fd9\u6837\u8bbe\u8ba1\u662f\u4e3a\u4e86\u5b89\u5168\uff0c\u9632\u6b62\u88ab\u731c\u6d4b\u800c\u906d\u53d7TCP\u5e8f\u5217\u53f7\u653b\u51fb\u3002\u901a\u5e38\uff0cISN\u662f\u57fa\u4e8e\u4e00\u4e2a\u968f\u65f6\u95f4\u53d8\u5316\u7684\u8ba1\u6570\u5668\u6765\u751f\u6210\u7684\uff0c\u8fd9\u6837\u6bcf\u6b21\u8fde\u63a5\u7684ISN\u90fd\u4e0d\u540c\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>344. TCP\u4e09\u6b21\u63e1\u624b\u65f6\uff0c\u53d1\u9001SYN\u4e4b\u540e\u5c31\u5b95\u673a\u4e86\u4f1a\u600e\u4e48\u6837<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5ba2\u6237\u7aef\u53d1\u9001SYN\u540e\u5b95\u673a<\/strong>\uff1a\u670d\u52a1\u5668\u56de\u590dSYN-ACK\u540e\u6536\u4e0d\u5230ACK\uff0c\u4f1a\u8fdb\u884c\u91cd\u4f20\uff0c\u6700\u7ec8\u8d85\u65f6\u653e\u5f03\u8fde\u63a5\u3002<\/li>\n\n\n\n<li><strong>\u5f71\u54cd<\/strong>\uff1a\u6d6a\u8d39\u670d\u52a1\u5668\u4e00\u4e9b\u8d44\u6e90\uff08\u534a\u8fde\u63a5\u961f\u5217\u4f4d\u7f6e\u548c\u91cd\u4f20\uff09\uff0c\u4f46\u901a\u5e38\u6709\u9650\u5236\uff0c\u5f71\u54cd\u53ef\u63a7\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>345. \u4ec0\u4e48\u662fSYN flood\u653b\u51fb<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u79cdDDoS\u653b\u51fb\u3002\u653b\u51fb\u8005\u4f2a\u9020\u5927\u91cf\u4e0d\u5b58\u5728\u7684\u6e90IP\u5730\u5740\uff0c\u5411\u76ee\u6807\u670d\u52a1\u5668\u53d1\u9001TCP SYN\u5305\u3002\u670d\u52a1\u5668\u4f1a\u4e3a\u6bcf\u4e2aSYN\u5206\u914d\u8d44\u6e90\u5e76\u56de\u590dSYN-ACK\uff0c\u4f46\u6c38\u8fdc\u6536\u4e0d\u5230ACK\uff08\u56e0\u4e3a\u6e90IP\u662f\u4f2a\u9020\u7684\uff09\u3002\u8fd9\u4f1a\u8017\u5c3d\u670d\u52a1\u5668\u7684\u534a\u8fde\u63a5\u961f\u5217\u8d44\u6e90\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9632\u5fa1<\/strong>\uff1aSYN Cookie\u3001\u589e\u52a0\u961f\u5217\u5927\u5c0f\u3001\u4f7f\u7528\u9632\u706b\u5899\u8fc7\u6ee4\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>346. \u9664\u4e86\u56db\u6b21\u6325\u624b\uff0c\u8fd8\u6709\u4ec0\u4e48\u65b9\u6cd5\u65ad\u5f00\u8fde\u63a5<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u53d1\u9001RST\u62a5\u6587<\/strong>\uff1a\u4e00\u65b9\u53ef\u4ee5\u76f4\u63a5\u53d1\u9001RST\u590d\u4f4d\u62a5\u6587\uff0c\u5f3a\u5236\u7acb\u5373\u65ad\u5f00\u8fde\u63a5\u3002\u8fd9\u4e0d\u662f\u4f18\u96c5\u5173\u95ed\u3002<\/li>\n\n\n\n<li><strong>\u8fdb\u7a0b\u7ec8\u6b62<\/strong>\uff1a\u5f53\u8fdb\u7a0b\u9000\u51fa\u65f6\uff0c\u64cd\u4f5c\u7cfb\u7edf\u4f1a\u5173\u95ed\u5b83\u6253\u5f00\u7684\u6240\u6709\u5957\u63a5\u5b57\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>347. TCP\u6709\u8d85\u65f6\u91cd\u4f20\u4e3a\u4ec0\u4e48\u8fd8\u9700\u8981\u5feb\u901f\u91cd\u4f20<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8d85\u65f6\u91cd\u4f20\u7684\u7b49\u5f85\u65f6\u95f4\uff08RTO\uff09\u901a\u5e38\u8f83\u957f\uff08\u81f3\u5c11200ms\u4ee5\u4e0a\uff09\u3002\u5feb\u901f\u91cd\u4f20\u901a\u8fc7\u5728\u6536\u52303\u4e2a\u91cd\u590dACK\u65f6\u5c31\u7acb\u5373\u91cd\u4f20\u4e22\u5931\u7684\u5305\uff0c<strong>\u5927\u5927\u51cf\u5c11\u4e86\u91cd\u4f20\u7684\u7b49\u5f85\u65f6\u95f4<\/strong>\uff0c\u63d0\u9ad8\u4e86\u6548\u7387\u3002\u8d85\u65f6\u91cd\u4f20\u662f\u4fdd\u969c\u53ef\u9760\u6027\u7684\u6700\u540e\u624b\u6bb5\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>348. TCP\u7684SACK\u7684\u5f15\u5165\u662f\u4e3a\u4e86\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u89e3\u51b3<strong>\u591a\u4e2a\u6570\u636e\u5305\u4e22\u5931<\/strong>\u65f6TCP\u91cd\u4f20\u6548\u7387\u4f4e\u4e0b\u7684\u95ee\u9898\u3002SACK\u5141\u8bb8\u63a5\u6536\u65b9\u5728ACK\u4e2d\u544a\u77e5\u53d1\u9001\u65b9\u81ea\u5df1\u5df2\u7ecf\u6210\u529f\u63a5\u6536\u7684\u4e0d\u8fde\u7eed\u7684\u6570\u636e\u5757\u3002\u8fd9\u6837\u53d1\u9001\u65b9\u5c31\u80fd\u77e5\u9053\u5177\u4f53\u54ea\u4e9b\u5305\u4e22\u4e86\uff0c\u4ece\u800c\u4e00\u6b21\u6027\u91cd\u4f20\u6240\u6709\u4e22\u5931\u7684\u5305\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>349. TCP\u6ed1\u52a8\u7a97\u53e3\u7684\u4f5c\u7528\u662f\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6d41\u91cf\u63a7\u5236<\/strong>\uff1a\u63a5\u6536\u65b9\u901a\u8fc7\u901a\u544a\u7a97\u53e3\u5927\u5c0f\uff0c\u9632\u6b62\u53d1\u9001\u65b9\u53d1\u9001\u8fc7\u591a\u6570\u636e\u5bfc\u81f4\u63a5\u6536\u65b9\u7f13\u51b2\u533a\u6ea2\u51fa\u3002<\/li>\n\n\n\n<li><strong>\u63d0\u9ad8\u4fe1\u9053\u5229\u7528\u7387<\/strong>\uff1a\u5141\u8bb8\u53d1\u9001\u65b9\u5728\u6536\u5230\u786e\u8ba4\u4e4b\u524d\u8fde\u7eed\u53d1\u9001\u591a\u4e2a\u6570\u636e\u5305\uff0c\u5c06\u7b49\u5f85ACK\u7684\u65f6\u95f4\u4e5f\u7528\u4e8e\u6570\u636e\u4f20\u8f93\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>350. \u8bf4\u8bf4TCP\u62e5\u585e\u63a7\u5236\u7684\u6b65\u9aa4<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c329\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>351. ARP\u548cRARP\u5206\u522b\u662f\u4ec0\u4e48\uff0c\u6709\u4ec0\u4e48\u533a\u522b<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ARP<\/strong>\uff1a\u5730\u5740\u89e3\u6790\u534f\u8bae\u3002\u6839\u636e<strong>IP\u5730\u5740<\/strong>\u83b7\u53d6<strong>MAC\u5730\u5740<\/strong>\u3002\u7528\u4e8e\u540c\u4e00\u5c40\u57df\u7f51\u5185\u3002<\/li>\n\n\n\n<li><strong>RARP<\/strong>\uff1a\u9006\u5730\u5740\u89e3\u6790\u534f\u8bae\u3002\u6839\u636e<strong>MAC\u5730\u5740<\/strong>\u83b7\u53d6<strong>IP\u5730\u5740<\/strong>\u3002\u5e38\u7528\u4e8e\u65e0\u76d8\u5de5\u4f5c\u7ad9\u542f\u52a8\uff0c\u73b0\u5df2\u88abDHCP\u53d6\u4ee3\u3002<\/li>\n\n\n\n<li><strong>\u533a\u522b<\/strong>\uff1a\u529f\u80fd\u76f8\u53cd\u3002ARP\u662fIP->MAC\uff0cRARP\u662fMAC->IP\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>352. JWT Token\u80fd\u8bf4\u8bf4\u5417<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">JWT\u662f\u4e00\u79cd\u5f00\u653e\u6807\u51c6\uff0c\u7528\u4e8e\u5728\u5404\u65b9\u4e4b\u95f4\u5b89\u5168\u5730\u4f20\u8f93\u4fe1\u606f\u4f5c\u4e3aJSON\u5bf9\u8c61\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ed3\u6784<\/strong>\uff1a<code>Header.Payload.Signature<\/code>\n<ul class=\"wp-block-list\">\n<li><code>Header<\/code>\uff1a\u4ee4\u724c\u7c7b\u578b\u548c\u7b7e\u540d\u7b97\u6cd5\u3002<\/li>\n\n\n\n<li><code>Payload<\/code>\uff1a\u5305\u542b\u58f0\u660e\uff08\u7528\u6237ID\u3001\u8fc7\u671f\u65f6\u95f4\u7b49\uff09\u3002<\/li>\n\n\n\n<li><code>Signature<\/code>\uff1a\u7528\u4e8e\u9a8c\u8bc1\u6d88\u606f\u672a\u88ab\u7be1\u6539\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u6d41\u7a0b<\/strong>\uff1a\u767b\u5f55\u540e\u670d\u52a1\u5668\u751f\u6210JWT\u8fd4\u56de\u5ba2\u6237\u7aef\u3002\u5ba2\u6237\u7aef\u540e\u7eed\u8bf7\u6c42\u5728Header\u4e2d\u643a\u5e26JWT\u3002\u670d\u52a1\u5668\u9a8c\u8bc1\u7b7e\u540d\u6709\u6548\u540e\uff0c\u5373\u53ef\u4fe1\u4efbPayload\u4e2d\u7684\u4fe1\u606f\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>353. \u7b80\u5355\u8c08\u8c08\u4f60\u5bf9DNS\u7684\u7406\u89e3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DNS\u662f\u4e92\u8054\u7f51\u7684\u201c\u7535\u8bdd\u7c3f\u201d\uff0c\u5b83\u5c06\u4eba\u7c7b\u53ef\u8bfb\u7684\u57df\u540d\u7ffb\u8bd1\u6210\u673a\u5668\u53ef\u8bfb\u7684IP\u5730\u5740\u3002\u5b83\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u3001\u5c42\u6b21\u5316\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u786e\u4fdd\u4e86\u4e92\u8054\u7f51\u5bfb\u5740\u7684\u53ef\u6269\u5c55\u6027\u548c\u53ef\u9760\u6027\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>354. \u7b80\u5355\u8c08\u8c08\u4f60\u5bf9CDN\u7684\u7406\u89e3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c333\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>355. \u5e38\u89c1\u7684\u767b\u5f55\u9274\u6743\u65b9\u5f0f\u6709\u54ea\u4e9b\uff1f\u5404\u81ea\u7684\u4f18\u7f3a\u70b9\u662f\uff1f<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Session-Cookie<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18<\/strong>\uff1a\u6280\u672f\u6210\u719f\uff0c\u670d\u52a1\u5668\u6709\u5b8c\u5168\u63a7\u5236\u6743\u3002<\/li>\n\n\n\n<li><strong>\u7f3a<\/strong>\uff1a\u670d\u52a1\u5668\u9700\u5b58\u50a8Session\uff0c\u6269\u5c55\u6027\u5dee\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Token\uff08\u5982JWT\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18<\/strong>\uff1a\u65e0\u72b6\u6001\uff0c\u6613\u4e8e\u6269\u5c55\uff0c\u652f\u6301\u8de8\u57df\u3002<\/li>\n\n\n\n<li><strong>\u7f3a<\/strong>\uff1aToken\u4e00\u65e6\u7b7e\u53d1\uff0c\u5728\u6709\u6548\u671f\u5185\u65e0\u6cd5\u7acb\u5373\u5931\u6548\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>OAuth 2.0 \/ OpenID Connect<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18<\/strong>\uff1a\u6807\u51c6\u534f\u8bae\uff0c\u9002\u7528\u4e8e\u7b2c\u4e09\u65b9\u6388\u6743\u767b\u5f55\uff0c\u5b89\u5168\u3002<\/li>\n\n\n\n<li><strong>\u7f3a<\/strong>\uff1a\u5b9e\u73b0\u76f8\u5bf9\u590d\u6742\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u6570\u636e\u5e93<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>356. \u6570\u636e\u5e93\u7684\u4e8b\u52a1\u662f\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6570\u636e\u5e93\u4e8b\u52a1\u662f<strong>\u4e00\u4e2a\u4e0d\u53ef\u5206\u5272\u7684\u5de5\u4f5c\u5355\u5143<\/strong>\uff0c\u5b83\u7531\u4e00\u7cfb\u5217\u5bf9\u6570\u636e\u5e93\u7684\u64cd\u4f5c\u7ec4\u6210\u3002\u8fd9\u4e9b\u64cd\u4f5c\u8981\u4e48\u5168\u90e8\u6210\u529f\u6267\u884c\uff0c\u8981\u4e48\u5168\u90e8\u4e0d\u6267\u884c\u3002\u4e8b\u52a1\u662f\u4fdd\u8bc1\u6570\u636e\u5e93\u4e00\u81f4\u6027\u72b6\u6001\u8f6c\u79fb\u7684\u57fa\u672c\u673a\u5236\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>357. \u6570\u636e\u5e93\u4e8b\u52a1\u6709\u54ea\u4e9b\u7279\u6027<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ACID\u7279\u6027\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u5b50\u6027<\/strong>\uff1a\u4e8b\u52a1\u4e2d\u7684\u6240\u6709\u64cd\u4f5c\u662f\u4e00\u4e2a\u4e0d\u53ef\u5206\u5272\u7684\u6574\u4f53\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u81f4\u6027<\/strong>\uff1a\u4e8b\u52a1\u6267\u884c\u524d\u540e\uff0c\u6570\u636e\u5e93\u90fd\u5fc5\u987b\u5904\u4e8e\u4e00\u81f4\u6027\u72b6\u6001\u3002<\/li>\n\n\n\n<li><strong>\u9694\u79bb\u6027<\/strong>\uff1a\u5e76\u53d1\u6267\u884c\u7684\u4e8b\u52a1\u4e4b\u95f4\u4e92\u4e0d\u5e72\u6270\u3002<\/li>\n\n\n\n<li><strong>\u6301\u4e45\u6027<\/strong>\uff1a\u4e8b\u52a1\u4e00\u65e6\u63d0\u4ea4\uff0c\u5176\u5bf9\u6570\u636e\u5e93\u7684\u4fee\u6539\u5c31\u662f\u6c38\u4e45\u6027\u7684\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>358. \u4e8b\u52a1\u7684\u9694\u79bb\u7ea7\u522b\u6709\u591a\u5c11\u79cd\uff0c\u5206\u522b\u662f\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SQL\u6807\u51c6\u5b9a\u4e49\u4e864\u79cd\u9694\u79bb\u7ea7\u522b\uff0c\u4ece\u4f4e\u5230\u9ad8\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8bfb\u672a\u63d0\u4ea4<\/strong>\uff1a\u5b58\u5728\u810f\u8bfb\u3001\u4e0d\u53ef\u91cd\u590d\u8bfb\u3001\u5e7b\u8bfb\u3002<\/li>\n\n\n\n<li><strong>\u8bfb\u5df2\u63d0\u4ea4<\/strong>\uff1a\u89e3\u51b3\u810f\u8bfb\uff0c\u5b58\u5728\u4e0d\u53ef\u91cd\u590d\u8bfb\u3001\u5e7b\u8bfb\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u91cd\u590d\u8bfb<\/strong>\uff1a\u89e3\u51b3\u810f\u8bfb\u548c\u4e0d\u53ef\u91cd\u590d\u8bfb\uff0c\u53ef\u80fd\u5b58\u5728\u5e7b\u8bfb\uff08InnoDB\u901a\u8fc7MVCC\u89e3\u51b3\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4e32\u884c\u5316<\/strong>\uff1a\u6700\u9ad8\u7ea7\u522b\uff0c\u89e3\u51b3\u6240\u6709\u5e76\u53d1\u95ee\u9898\uff0c\u4f46\u6027\u80fd\u6700\u4f4e\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>359. \u4e0d\u53ef\u91cd\u590d\u8bfb\u548c\u5e7b\u8bfb\u533a\u522b\u662f\u4ec0\u4e48\uff1f\u53ef\u4ee5\u4e3e\u4e2a\u4f8b\u5b50\u5417<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e0d\u53ef\u91cd\u590d\u8bfb<\/strong>\uff1a\u6307\u5728\u4e00\u4e2a\u4e8b\u52a1\u5185\uff0c\u591a\u6b21\u8bfb\u53d6<strong>\u540c\u4e00\u884c<\/strong>\u6570\u636e\uff0c\u7ed3\u679c\u4e0d\u4e00\u81f4\uff08\u56e0\u4e3a\u88ab\u5176\u4ed6\u4e8b\u52a1<strong>\u4fee\u6539<\/strong>\u5e76\u63d0\u4ea4\u4e86\uff09\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u4f8b<\/strong>\uff1a\u4e8b\u52a1A\u8bfb\u5de5\u8d44\u4e3a5000\u3002\u4e8b\u52a1B\u6539\u5de5\u8d44\u4e3a8000\u5e76\u63d0\u4ea4\u3002\u4e8b\u52a1A\u518d\u8bfb\uff0c\u53d8\u62108000\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5e7b\u8bfb<\/strong>\uff1a\u6307\u5728\u4e00\u4e2a\u4e8b\u52a1\u5185\uff0c\u591a\u6b21\u6267\u884c<strong>\u540c\u4e00\u67e5\u8be2<\/strong>\uff0c\u8fd4\u56de\u7684\u8bb0\u5f55\u96c6\u5408\u4e0d\u540c\uff08\u56e0\u4e3a\u5176\u4ed6\u4e8b\u52a1<strong>\u63d2\u5165\u6216\u5220\u9664<\/strong>\u4e86\u7b26\u5408\u67e5\u8be2\u6761\u4ef6\u7684\u884c\u5e76\u63d0\u4ea4\u4e86\uff09\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u4f8b<\/strong>\uff1a\u4e8b\u52a1A\u67e5\u5de5\u8d44&lt;10000\u7684\u670910\u4eba\u3002\u4e8b\u52a1B\u63d2\u5165\u4e00\u4e2a\u5de5\u8d445000\u7684\u65b0\u5458\u5de5\u5e76\u63d0\u4ea4\u3002\u4e8b\u52a1A\u518d\u67e5\uff0c\u53d8\u621011\u4eba\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6838\u5fc3\u533a\u522b<\/strong>\uff1a\u4e0d\u53ef\u91cd\u590d\u8bfb\u9488\u5bf9<strong>\u6570\u636e\u7684\u66f4\u65b0<\/strong>\uff0c\u5e7b\u8bfb\u9488\u5bf9<strong>\u6570\u636e\u7684\u65b0\u589e\u6216\u5220\u9664<\/strong>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>360. \u4ec0\u4e48\u662f\u805a\u7c07\u7d22\u5f15\uff0c\u4ec0\u4e48\u662f\u975e\u805a\u7c07\u7d22\u5f15<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u805a\u7c07\u7d22\u5f15<\/strong>\uff1a\u8868\u6570\u636e\u6587\u4ef6\u672c\u8eab\u5c31\u662f\u6309\u4e3b\u952e\u7ec4\u7ec7\u7684\u4e00\u4e2aB+\u6811\u7d22\u5f15\u3002\u53f6\u5b50\u8282\u70b9\u5305\u542b\u4e86\u5b8c\u6574\u7684\u884c\u6570\u636e\u3002<strong>\u4e00\u4e2a\u8868\u53ea\u6709\u4e00\u4e2a\u805a\u7c07\u7d22\u5f15<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u975e\u805a\u7c07\u7d22\u5f15<\/strong>\uff08\u4e8c\u7ea7\u7d22\u5f15\uff09\uff1a\u53f6\u5b50\u8282\u70b9\u5b58\u50a8\u7684\u4e0d\u662f\u884c\u6570\u636e\uff0c\u800c\u662f<strong>\u5bf9\u5e94\u884c\u7684\u4e3b\u952e\u503c<\/strong>\u3002\u901a\u8fc7\u975e\u805a\u7c07\u7d22\u5f15\u67e5\u627e\u6570\u636e\u9700\u8981<strong>\u56de\u8868<\/strong>\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>361. \u6570\u636e\u5e93\u7d22\u5f15\u600e\u4e48\u7528\uff0c\u9002\u5408\u4ec0\u4e48\u573a\u666f\uff0c\u4ec0\u4e48\u65f6\u5019\u7d22\u5f15\u5931\u6548<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5982\u4f55\u4f7f\u7528<\/strong>\uff1a\u901a\u8fc7<code>CREATE INDEX<\/code>\u8bed\u53e5\u521b\u5efa\u3002\u67e5\u8be2\u65f6\u6570\u636e\u5e93\u4f18\u5316\u5668\u81ea\u52a8\u5224\u65ad\u662f\u5426\u4f7f\u7528\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u7ecf\u5e38\u4f5c\u4e3a\u67e5\u8be2\u6761\u4ef6\u3001\u6392\u5e8f\u3001\u5206\u7ec4\u7684\u5217\u3002<\/li>\n\n\n\n<li><strong>\u7d22\u5f15\u5931\u6548\u5e38\u89c1\u60c5\u51b5<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5bf9\u7d22\u5f15\u5217\u8fdb\u884c\u8fd0\u7b97\u6216\u51fd\u6570\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>!=<\/code>\u6216<code>&lt;><\/code>\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>OR<\/code>\u8fde\u63a5\u4e0d\u540c\u7d22\u5f15\u5217\u7684\u6761\u4ef6\u3002<\/li>\n\n\n\n<li>\u5de6\u6a21\u7cca\u5339\u914d\uff08<code>LIKE '%abc'<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u4e0d\u7b26\u5408<strong>\u6700\u5de6\u524d\u7f00\u539f\u5219<\/strong>\uff08\u590d\u5408\u7d22\u5f15\uff09\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u7c7b\u578b\u9690\u5f0f\u8f6c\u6362\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>362. \u5982\u4f55\u5bf9\u7d22\u5f15\u8fdb\u884c\u4f18\u5316<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u9009\u62e9<strong>\u9ad8\u9009\u62e9\u6027<\/strong>\u7684\u5217\u521b\u5efa\u7d22\u5f15\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<strong>\u590d\u5408\u7d22\u5f15<\/strong>\uff0c\u6ce8\u610f\u6700\u5de6\u524d\u7f00\u539f\u5219\u3002<\/li>\n\n\n\n<li>\u907f\u514d\u8fc7\u591a\u7d22\u5f15\uff0c\u5f71\u54cd\u5199\u6027\u80fd\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<strong>\u8986\u76d6\u7d22\u5f15<\/strong>\uff0c\u907f\u514d\u56de\u8868\u3002<\/li>\n\n\n\n<li>\u5b9a\u671f<code>ANALYZE TABLE<\/code>\u66f4\u65b0\u7d22\u5f15\u7edf\u8ba1\u4fe1\u606f\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>363. \u521b\u5efa\u7d22\u5f15\u4e00\u5b9a\u80fd\u52a0\u5feb\u68c0\u7d22\u901f\u5ea6\u5417\uff0c\u4e3a\u4ec0\u4e48\uff1f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e0d\u4e00\u5b9a<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u80fd\u52a0\u901f<\/strong>\uff1a\u5bf9\u4e8e\u5927\u6570\u636e\u91cf\u7684\u8868\uff0c\u5728\u7ecf\u5e38\u67e5\u8be2\u7684\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff0c\u53ef\u4ee5\u51cf\u5c11\u626b\u63cf\u6570\u636e\u91cf\u3002<\/li>\n\n\n\n<li><strong>\u4e0d\u80fd\u52a0\u901f\u751a\u81f3\u53d8\u6162<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5c0f\u8868\u5168\u8868\u626b\u63cf\u53ef\u80fd\u66f4\u5feb\u3002<\/li>\n\n\n\n<li>\u7d22\u5f15\u4f1a\u589e\u52a0INSERT\/UPDATE\/DELETE\u7684\u5f00\u9500\u3002<\/li>\n\n\n\n<li>\u67e5\u8be2\u9700\u8981\u8fd4\u56de\u5927\u90e8\u5206\u6570\u636e\u65f6\uff0c\u4f18\u5316\u5668\u53ef\u80fd\u9009\u62e9\u5168\u8868\u626b\u63cf\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u7684\u7d22\u5f15\u53ef\u80fd\u4e0d\u4f1a\u88ab\u4f7f\u7528\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>364. \u4e3a\u4ec0\u4e48MYSQL\u7d22\u5f15\u8981\u4f7f\u7528B+\u6811\uff0c\u800c\u4e0d\u662fB\u6811\u6216\u8005\u7ea2\u9ed1\u6811<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>vs \u7ea2\u9ed1\u6811<\/strong>\uff1aB+\u6811\u662f<strong>\u591a\u8def\u5e73\u8861\u67e5\u627e\u6811<\/strong>\uff0c\u6811\u9ad8\u66f4\u4f4e\uff0c\u51cf\u5c11\u78c1\u76d8I\/O\u6b21\u6570\u3002<\/li>\n\n\n\n<li><strong>vs B\u6811<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>B+\u6811\u975e\u53f6\u5b50\u8282\u70b9\u53ea\u5b58\u952e\uff0c\u4e0d\u5b58\u6570\u636e\uff0c\u4e00\u4e2a\u8282\u70b9\u80fd\u5bb9\u7eb3\u66f4\u591a\u952e\uff0c\u6811\u9ad8\u66f4\u77ee\u3002<\/li>\n\n\n\n<li>B+\u6811\u6240\u6709\u53f6\u5b50\u8282\u70b9\u901a\u8fc7\u6307\u9488\u4e32\u8054\u6210\u6709\u5e8f\u94fe\u8868\uff0c\u975e\u5e38\u9002\u5408\u8303\u56f4\u67e5\u8be2\u548c\u5168\u8868\u626b\u63cf\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>365. \u4f60\u77e5\u9053\u54ea\u4e9b\u6570\u636e\u5e93\u7ed3\u6784\u4f18\u5316\u7684\u624b\u6bb5<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9009\u62e9\u5408\u9002\u7684\u6570\u636e\u7c7b\u578b<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u8303\u5f0f\u5316\u4e0e\u53cd\u8303\u5f0f\u5316<\/strong>\uff1a\u9002\u5f53\u53cd\u8303\u5f0f\u5316\u4ee5\u51cf\u5c11JOIN\u3002<\/li>\n\n\n\n<li><strong>\u5782\u76f4\u62c6\u5206<\/strong>\uff1a\u5c06\u4e0d\u5e38\u7528\u6216\u5927\u5b57\u6bb5\u62c6\u5230\u53e6\u4e00\u5f20\u8868\u3002<\/li>\n\n\n\n<li><strong>\u6c34\u5e73\u62c6\u5206\uff08\u5206\u5e93\u5206\u8868\uff09<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u4e2d\u95f4\u8868<\/strong>\u5b58\u50a8\u7edf\u8ba1\u7ed3\u679c\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>366. B\u6811\u548cB+\u6811\u533a\u522b<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c364\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>367. \u600e\u4e48\u5224\u65ad\u4e00\u4e2a\u67e5\u8be2\u662f\u5426\u662f\u9ad8\u6548\u7387\u7684<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>EXPLAIN<\/code>\u5206\u6790SQL\u6267\u884c\u8ba1\u5212\uff0c\u770b<code>type<\/code>\uff08\u8bbf\u95ee\u7c7b\u578b\uff09\u3001<code>key<\/code>\uff08\u4f7f\u7528\u7684\u7d22\u5f15\uff09\u3001<code>rows<\/code>\uff08\u9884\u4f30\u626b\u63cf\u884c\u6570\uff09\u3002<\/li>\n\n\n\n<li>\u67e5\u8be2\u54cd\u5e94\u65f6\u95f4\u662f\u5426\u53ef\u63a5\u53d7\u3002<\/li>\n\n\n\n<li>\u76d1\u63a7\u6162\u67e5\u8be2\u65e5\u5fd7\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>368. \u5982\u4f55\u4f18\u5316\u67e5\u8be2\u8bed\u53e5<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u907f\u514d<code>SELECT *<\/code>\uff0c\u53ea\u53d6\u9700\u8981\u7684\u5217\u3002<\/li>\n\n\n\n<li>\u907f\u514d\u5728WHERE\u5b50\u53e5\u4e2d\u5bf9\u5b57\u6bb5\u8fdb\u884cNULL\u503c\u5224\u65ad\u3001\u51fd\u6570\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>JOIN<\/code>\u4ee3\u66ff\u5b50\u67e5\u8be2\uff08\u9700\u5b9e\u6d4b\uff09\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>UNION ALL<\/code>\u4ee3\u66ff<code>UNION<\/code>\uff08\u5982\u679c\u4e0d\u9700\u8981\u53bb\u91cd\uff09\u3002<\/li>\n\n\n\n<li>\u5408\u7406\u4f7f\u7528\u7d22\u5f15\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>369. MYSQL\u7684\u7ea6\u675f\u6709\u54ea\u4e9b<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>PRIMARY KEY<\/code>\uff08\u4e3b\u952e\uff09<\/li>\n\n\n\n<li><code>UNIQUE<\/code>\uff08\u552f\u4e00\uff09<\/li>\n\n\n\n<li><code>NOT NULL<\/code>\uff08\u975e\u7a7a\uff09<\/li>\n\n\n\n<li><code>FOREIGN KEY<\/code>\uff08\u5916\u952e\uff09<\/li>\n\n\n\n<li><code>CHECK<\/code>\uff08\u68c0\u67e5\uff0cMySQL 8.0.16\u540e\u652f\u6301\uff09<\/li>\n\n\n\n<li><code>DEFAULT<\/code>\uff08\u9ed8\u8ba4\u503c\uff09<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>370. inner join\uff0cleft join\uff0cright join\uff0couter join\u7684\u533a\u522b<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>INNER JOIN<\/code>\uff1a\u8fd4\u56de\u4e24\u4e2a\u8868\u4e2d\u8fde\u63a5\u6761\u4ef6\u5339\u914d\u7684\u884c\u3002<\/li>\n\n\n\n<li><code>LEFT JOIN<\/code>\uff1a\u8fd4\u56de\u5de6\u8868\u6240\u6709\u884c\uff0c\u53f3\u8868\u65e0\u5339\u914d\u5219\u7528NULL\u586b\u5145\u3002<\/li>\n\n\n\n<li><code>RIGHT JOIN<\/code>\uff1a\u8fd4\u56de\u53f3\u8868\u6240\u6709\u884c\uff0c\u5de6\u8868\u65e0\u5339\u914d\u5219\u7528NULL\u586b\u5145\u3002<\/li>\n\n\n\n<li><code>FULL OUTER JOIN<\/code>\uff1a\u8fd4\u56de\u5de6\u53f3\u4e24\u8868\u7684\u5168\u90e8\u884c\uff0c\u65e0\u5339\u914d\u90e8\u5206\u7528NULL\u586b\u5145\u3002\uff08<strong>MySQL\u4e0d\u652f\u6301<\/strong>\uff09<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>371. mysql\u5982\u4f55\u5408\u5e76\u4e24\u4e2a\u8868<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7eb5\u5411\u5408\u5e76\uff08\u8ffd\u52a0\u884c\uff09<\/strong>\uff1a\u4f7f\u7528<code>UNION<\/code>\uff08\u53bb\u91cd\uff09\u6216<code>UNION ALL<\/code>\uff08\u4e0d\u53bb\u91cd\uff0c\u6548\u7387\u9ad8\uff09\u3002sql\u590d\u5236\u4e0b\u8f7dSELECT col1, col2 FROM table1 UNION ALL SELECT col1, col2 FROM table2;<\/li>\n\n\n\n<li><strong>\u6a2a\u5411\u5408\u5e76\uff08\u8fde\u63a5\u5217\uff09<\/strong>\uff1a\u4f7f\u7528<code>JOIN<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>372. \u5171\u4eab\u9501\u4e0e\u72ec\u5360\u9501<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5171\u4eab\u9501\uff08\u8bfb\u9501\uff09<\/strong>\uff1a\u4e00\u4e2a\u4e8b\u52a1\u52a0\u9501\u540e\uff0c\u5176\u4ed6\u4e8b\u52a1\u53ef\u4ee5\u52a0\u5171\u4eab\u9501\u8bfb\uff0c\u4f46\u4e0d\u80fd\u52a0\u72ec\u5360\u9501\u5199\u3002<\/li>\n\n\n\n<li><strong>\u72ec\u5360\u9501\uff08\u5199\u9501\uff09<\/strong>\uff1a\u4e00\u4e2a\u4e8b\u52a1\u52a0\u9501\u540e\uff0c\u5176\u4ed6\u4e8b\u52a1\u65e2\u4e0d\u80fd\u52a0\u5171\u4eab\u9501\u8bfb\uff0c\u4e5f\u4e0d\u80fd\u52a0\u72ec\u5360\u9501\u5199\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>373. \u4e50\u89c2\u9501\u548c\u60b2\u89c2\u9501<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u60b2\u89c2\u9501<\/strong>\uff1a\u8ba4\u4e3a\u51b2\u7a81\u6982\u7387\u9ad8\uff0c\u5148\u52a0\u9501\u518d\u64cd\u4f5c\u3002<strong>\u6570\u636e\u5e93\u539f\u751f\u652f\u6301<\/strong>\u3002\u9002\u7528\u4e8e\u5199\u591a\u8bfb\u5c11\u3002<\/li>\n\n\n\n<li><strong>\u4e50\u89c2\u9501<\/strong>\uff1a\u8ba4\u4e3a\u51b2\u7a81\u6982\u7387\u4f4e\uff0c\u4e0d\u52a0\u9501\uff0c\u66f4\u65b0\u65f6\u5224\u65ad\u6570\u636e\u662f\u5426\u88ab\u4fee\u6539\uff08\u901a\u8fc7\u7248\u672c\u53f7\uff09\u3002<strong>\u5e94\u7528\u5c42\u5b9e\u73b0<\/strong>\u3002\u9002\u7528\u4e8e\u8bfb\u591a\u5199\u5c11\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>374. \u4e86\u89e3\u8fc7\u5b58\u50a8\u8fc7\u7a0b\u5417<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b58\u50a8\u8fc7\u7a0b\u662f\u9884\u5148\u7f16\u8bd1\u597d\u5e76\u5b58\u50a8\u5728\u6570\u636e\u5e93\u4e2d\u7684\u4e00\u7ec4SQL\u8bed\u53e5\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u51cf\u5c11\u7f51\u7edc\u4f20\u8f93\u3001\u6267\u884c\u901f\u5ea6\u5feb\u3001\u6a21\u5757\u5316\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u8c03\u8bd5\u590d\u6742\u3001\u79fb\u690d\u6027\u5dee\u3001\u589e\u52a0\u6570\u636e\u5e93\u8d1f\u62c5\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>375. \u4e86\u89e3\u8fc7\u6570\u636e\u5e93\u89c6\u56fe\u5417<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u89c6\u56fe\u662f\u865a\u62df\u8868\uff0c\u5176\u5185\u5bb9\u7531\u67e5\u8be2\u5b9a\u4e49\u3002\u5b83\u4e0d\u5b58\u50a8\u6570\u636e\uff0c\u6570\u636e\u6765\u81ea\u57fa\u8868\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u7b80\u5316\u590d\u6742\u67e5\u8be2\u3001\u589e\u5f3a\u6570\u636e\u5b89\u5168\u6027\u3001\u903b\u8f91\u6570\u636e\u72ec\u7acb\u6027\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u6027\u80fd\u53ef\u80fd\u4e0d\u5982\u76f4\u63a5\u67e5\u8be2\u57fa\u8868\uff0c\u66f4\u65b0\u53ef\u80fd\u53d7\u9650\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>376. MYSQL\u7684\u7aef\u53e3\u53f7<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u9ed8\u8ba4\u7aef\u53e3\u53f7\u662f<strong>3306<\/strong>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>377. Redis\u6301\u4e45\u5316\u65b9\u6848<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e24\u79cd\u4e3b\u8981\u65b9\u6848\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>RDB<\/strong>\uff1a\u5728\u6307\u5b9a\u65f6\u95f4\u95f4\u9694\u751f\u6210\u6570\u636e\u96c6\u7684\u65f6\u95f4\u70b9\u5feb\u7167\u3002<\/li>\n\n\n\n<li><strong>AOF<\/strong>\uff1a\u8bb0\u5f55\u6240\u6709\u5199\u64cd\u4f5c\u547d\u4ee4\uff0c\u91cd\u542f\u65f6\u91cd\u65b0\u6267\u884c\u4ee5\u6062\u590d\u6570\u636e\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>378. \u4e24\u79cd\u6301\u4e45\u5316\u65b9\u5f0f\u5982\u4f55\u9009\u62e9\uff1f<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>RDB<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u6587\u4ef6\u7d27\u51d1\uff0c\u6062\u590d\u5feb\uff0c\u9002\u5408\u707e\u96be\u6062\u590d\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u53ef\u80fd\u4e22\u5931\u6700\u540e\u4e00\u6b21\u5feb\u7167\u540e\u7684\u6570\u636e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>AOF<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u6570\u636e\u66f4\u5b89\u5168\uff0c\u6700\u591a\u4e221\u79d2\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u6587\u4ef6\u901a\u5e38\u6bd4RDB\u5927\uff0c\u6062\u590d\u6162\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9009\u62e9<\/strong>\uff1a\u901a\u5e38<strong>\u540c\u65f6\u5f00\u542f<\/strong>\uff0c\u7528AOF\u4fdd\u6570\u636e\uff0c\u7528RDB\u505a\u51b7\u5907\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>379. \u4e24\u79cd\u6301\u4e45\u5316\u65b9\u5f0f\u80fd\u4e0d\u80fd\u540c\u65f6\u4f7f\u7528\uff1f\u5982\u679c\u80fd\uff0credis\u91cd\u542f\u65f6\u6309\u7167\u54ea\u4e2a\u6587\u4ef6\u7684\u5185\u5bb9\u6062\u590d\u6570\u636e\uff1f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528<\/strong>\u3002Redis\u91cd\u542f\u65f6\uff0c\u5982\u679cAOF\u5f00\u542f\uff0c<strong>\u4f18\u5148\u4f7f\u7528AOF\u6587\u4ef6<\/strong>\u6062\u590d\u6570\u636e\u3002\u53ea\u6709\u5f53AOF\u5173\u95ed\u65f6\uff0c\u624d\u4f7f\u7528RDB\u6587\u4ef6\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>380. \u5982\u679c\u5f00\u542f\u4e86aof\u65b9\u5f0f\uff0c\u5e76\u4e14aof\u6587\u4ef6\u635f\u574f\uff0credis\u80fd\u5426\u542f\u52a8\u6210\u529f\uff1f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e0d\u80fd<\/strong>\u3002Redis\u542f\u52a8\u65f6\u4f1a\u52a0\u8f7dAOF\u6587\u4ef6\uff0c\u6587\u4ef6\u635f\u574f\u5219\u542f\u52a8\u5931\u8d25\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>381. aof\u6587\u4ef6\u5982\u679c\u635f\u574f\uff0c\u600e\u4e48\u5904\u7406\uff1f<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>redis-check-aof --fix &lt;filename.aof><\/code>\u5de5\u5177\u4fee\u590d\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u4fee\u590d\u4e0d\u7406\u60f3\uff0c\u4eceRDB\u5feb\u7167\u6062\u590d\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>382. \u5982\u679c\u53ea\u5e0c\u671b\u6570\u636e\u5728\u670d\u52a1\u5668\u8fd0\u884c\u65f6\u5b58\u5728\u8be5\u600e\u4e48\u505a\uff1f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5173\u95ed\u6240\u6709\u6301\u4e45\u5316\u673a\u5236\uff08\u4e0d\u914d\u7f6eRDB\u7684<code>save<\/code>\u89c4\u5219\uff0c\u5e76\u5c06<code>appendonly<\/code>\u8bbe\u7f6e\u4e3a<code>no<\/code>\uff09\u3002Redis\u5c06\u4f5c\u4e3a\u7eaf\u5185\u5b58\u7f13\u5b58\uff0c\u91cd\u542f\u540e\u6570\u636e\u4e22\u5931\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>383. redis\u6709\u54ea\u4e94\u79cd\u6570\u636e\u7c7b\u578b\uff1f\u5982\u4f55\u7ed9\u6bcf\u79cd\u6570\u636e\u7c7b\u578b\u8fdb\u884c\u6dfb\u52a0\u6570\u636e\uff1f\u8fd9\u4e94\u79cd\u90fd\u9002\u5408\u6dfb\u52a0\u4ec0\u4e48\u6570\u636e<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>String<\/strong>\uff1a<code>SET key value<\/code>\u3002\u9002\u5408\u7f13\u5b58\u3001\u8ba1\u6570\u5668\u3002<\/li>\n\n\n\n<li><strong>List<\/strong>\uff1a<code>LPUSH\/RPUSH key value<\/code>\u3002\u9002\u5408\u6d88\u606f\u961f\u5217\u3001\u6700\u65b0\u5217\u8868\u3002<\/li>\n\n\n\n<li><strong>Hash<\/strong>\uff1a<code>HSET key field value<\/code>\u3002\u9002\u5408\u5b58\u50a8\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li><strong>Set<\/strong>\uff1a<code>SADD key member<\/code>\u3002\u9002\u5408\u6807\u7b7e\u3001\u5171\u540c\u597d\u53cb\u3002<\/li>\n\n\n\n<li><strong>ZSet<\/strong>\uff1a<code>ZADD key score member<\/code>\u3002\u9002\u5408\u6392\u884c\u699c\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>384. \u5982\u4f55\u5173\u95edredis\u670d\u52a1\u5668\uff1f\u5982\u4f55\u542f\u52a8redis\u670d\u52a1\u5668\uff1f<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5173\u95ed<\/strong>\uff1a\u5728\u5ba2\u6237\u7aef\u6267\u884c<code>SHUTDOWN<\/code>\uff0c\u6216\u7cfb\u7edf\u547d\u4ee4<code>redis-cli shutdown<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u542f\u52a8<\/strong>\uff1a\u8fd0\u884c<code>redis-server \/path\/to\/redis.conf<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>385. \u4ec0\u4e48\u662f\u6301\u4e45\u5316\uff1f\u4e24\u79cd\u6301\u4e45\u5316\u7684\u6982\u5ff5\u4e0e\u533a\u522b\uff1f\u4f18\u7f3a\u70b9\uff1f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c377\u548c378\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>386. redis\u7684\u4e8b\u52a1\u7684\u4e09\u4e2a\u9636\u6bb5\u662f\u4ec0\u4e48\uff1f\u5e38\u7528\u547d\u4ee4\u6709\u54ea\u4e9b\uff1f\u662f\u5426\u5177\u5907\u539f\u5b50\u6027\uff1f<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e09\u4e2a\u9636\u6bb5<\/strong>\uff1a<code>MULTI<\/code>\uff08\u5f00\u59cb\uff09 -> \u547d\u4ee4\u5165\u961f -> <code>EXEC<\/code>\uff08\u6267\u884c\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5e38\u7528\u547d\u4ee4<\/strong>\uff1a<code>MULTI<\/code>, <code>EXEC<\/code>, <code>DISCARD<\/code>, <code>WATCH<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u539f\u5b50\u6027<\/strong>\uff1a<strong>\u4e0d\u5177\u5907\u4e25\u683c\u539f\u5b50\u6027<\/strong>\u3002\u5b83\u4fdd\u8bc1\u547d\u4ee4\u6309\u987a\u5e8f\u6267\u884c\u4e14\u4e0d\u88ab\u4e2d\u65ad\uff0c\u4f46<strong>\u4e0d\u63d0\u4f9b\u56de\u6eda<\/strong>\u3002\u67d0\u4e2a\u547d\u4ee4\u51fa\u9519\uff0c\u540e\u7eed\u547d\u4ee4\u4ecd\u4f1a\u6267\u884c\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>387. \u4e3b\u4ece\u590d\u5236\u7684\u6982\u5ff5\u662f\u4ec0\u4e48\uff1f\u65b9\u5411\u662f\u4ec0\u4e48\u6837\u7684\uff1f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3b\u4ece\u590d\u5236\u662f\u6307\u5c06\u4e00\u53f0Redis\u670d\u52a1\u5668\uff08\u4e3b\u8282\u70b9\uff09\u7684\u6570\u636e\uff0c\u590d\u5236\u5230\u5176\u4ed6Redis\u670d\u52a1\u5668\uff08\u4ece\u8282\u70b9\uff09\u3002\u590d\u5236\u662f<strong>\u5355\u5411\u7684<\/strong>\uff0c\u53ea\u80fd\u7531\u4e3b\u8282\u70b9\u590d\u5236\u5230\u4ece\u8282\u70b9\u3002\u7528\u4e8e\u6570\u636e\u5197\u4f59\u3001\u8bfb\u5199\u5206\u79bb\u3001\u6545\u969c\u6062\u590d\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>388. \u89e3\u91ca\u4e00\u4e0bRedis<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Redis\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u3001\u57fa\u4e8e\u5185\u5b58\u7684\u3001\u53ef\u53ef\u9009\u6301\u4e45\u5316\u7684<strong>\u952e\u503c\u5bf9\u5b58\u50a8\u7cfb\u7edf<\/strong>\u3002\u5b83\u652f\u6301\u591a\u79cd\u6570\u636e\u7ed3\u6784\uff0c\u5e76\u63d0\u4f9b\u4e30\u5bcc\u7684\u64cd\u4f5c\u547d\u4ee4\u3002\u56e0\u5176\u6781\u9ad8\u7684\u8bfb\u5199\u6027\u80fd\uff0c\u5e38\u88ab\u7528\u4f5c\u7f13\u5b58\u3001\u6d88\u606f\u961f\u5217\u3001\u4f1a\u8bdd\u5b58\u50a8\u7b49\u3002\u5b83\u901a\u5e38\u88ab\u79f0\u4e3a<strong>\u6570\u636e\u7ed3\u6784\u670d\u52a1\u5668<\/strong>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>389. \u7f13\u5b58\u96ea\u5d29\u89e3\u51b3\u65b9\u6848<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u5927\u91cf\u7f13\u5b58\u6570\u636e\u5728\u540c\u4e00\u65f6\u95f4<strong>\u5927\u9762\u79ef\u5931\u6548<\/strong>\uff0c\u8bf7\u6c42\u76f4\u63a5\u843d\u6570\u636e\u5e93\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u8bbe\u7f6e\u4e0d\u540c\u7684\u8fc7\u671f\u65f6\u95f4<\/strong>\uff08\u52a0\u968f\u673a\u503c\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6784\u5efa\u9ad8\u53ef\u7528\u7684\u7f13\u5b58\u96c6\u7fa4<\/strong>\uff08Sentinel\/Cluster\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u4e92\u65a5\u9501\u6216\u961f\u5217<\/strong>\u63a7\u5236\u6570\u636e\u5e93\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li><strong>\u7f13\u5b58\u6c38\u4e0d\u8fc7\u671f<\/strong>\uff0c\u540e\u53f0\u5f02\u6b65\u66f4\u65b0\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>390. \u7f13\u5b58\u7a7f\u900f\u89e3\u51b3\u65b9\u6848<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u67e5\u8be2\u4e00\u4e2a<strong>\u6570\u636e\u5e93\u4e2d\u6839\u672c\u4e0d\u5b58\u5728\u7684\u6570\u636e<\/strong>\uff0c\u8bf7\u6c42\u7a7f\u8fc7\u7f13\u5b58\u76f4\u8fbe\u6570\u636e\u5e93\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u7f13\u5b58\u7a7a\u5bf9\u8c61<\/strong>\uff1a\u5373\u4f7f\u6570\u636e\u5e93\u67e5\u4e0d\u5230\uff0c\u4e5f\u7f13\u5b58\u7a7a\u7ed3\u679c\uff08\u8bbe\u77ed\u8fc7\u671f\u65f6\u95f4\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5e03\u9686\u8fc7\u6ee4\u5668<\/strong>\uff1a\u5feb\u901f\u5224\u65ad\u6570\u636e\u662f\u5426\u5b58\u5728\uff0c\u4e0d\u5b58\u5728\u5219\u76f4\u63a5\u8fd4\u56de\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>391. \u7f13\u5b58\u51fb\u7a7f\u89e3\u51b3\u65b9\u6848<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u95ee\u9898<\/strong>\uff1a\u67d0\u4e2a<strong>\u70ed\u70b9key<\/strong>\u5728\u5931\u6548\u7684\u77ac\u95f4\uff0c\u5927\u91cf\u5e76\u53d1\u8bf7\u6c42\u51fb\u7a7f\u7f13\u5b58\uff0c\u76f4\u8fbe\u6570\u636e\u5e93\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6c38\u4e0d\u8fc7\u671f<\/strong>\uff1a\u5bf9\u70ed\u70b9key\u4e0d\u8bbe\u8fc7\u671f\u65f6\u95f4\uff0c\u540e\u53f0\u66f4\u65b0\u3002<\/li>\n\n\n\n<li><strong>\u4e92\u65a5\u9501<\/strong>\uff1a\u53ea\u6709\u4e00\u4e2a\u7ebf\u7a0b\u53bb\u52a0\u8f7d\u6570\u636e\uff0c\u5176\u4ed6\u7ebf\u7a0b\u7b49\u5f85\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>392. \u7f13\u5b58\u9884\u70ed<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7cfb\u7edf\u4e0a\u7ebf\u540e\uff0c\u63d0\u524d\u5c06\u76f8\u5173\u7684\u7f13\u5b58\u6570\u636e\u52a0\u8f7d\u5230\u7f13\u5b58\u7cfb\u7edf\u4e2d\u3002\u907f\u514d\u7528\u6237\u7b2c\u4e00\u6b21\u8bf7\u6c42\u65f6\u76f4\u63a5\u8bbf\u95ee\u6570\u636e\u5e93\uff0c\u5bfc\u81f4\u901f\u5ea6\u6162\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>393. Redis\u5e38\u89c1\u7684\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u4f7f\u7528\u573a\u666f\u5206\u522b\u662f\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c383\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>394. C++\u4e2d\u7684Map\u4e5f\u662f\u4e00\u79cd\u7f13\u5b58\u6570\u636e\u7ed3\u6784\uff0c\u4e3a\u4ec0\u4e48\u4e0d\u7528Map\uff0c\u800c\u9009\u62e9Redis\u505a\u7f13\u5b58<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b58\u50a8\u4f4d\u7f6e\u4e0e\u5171\u4eab<\/strong>\uff1aC++ <code>std::map<\/code>\u662f<strong>\u8fdb\u7a0b\u5185<\/strong>\u7f13\u5b58\uff0c\u65e0\u6cd5\u591a\u8fdb\u7a0b\/\u591a\u670d\u52a1\u5668\u5171\u4eab\u3002Redis\u662f<strong>\u8fdb\u7a0b\u5916<\/strong>\u7f13\u5b58\u670d\u52a1\uff0c\u53ef\u88ab\u6240\u6709\u5e94\u7528\u670d\u52a1\u5668\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li><strong>\u6301\u4e45\u5316<\/strong>\uff1a<code>std::map<\/code>\u6570\u636e\u7a0b\u5e8f\u9000\u51fa\u5373\u6d88\u5931\u3002Redis\u652f\u6301\u6301\u4e45\u5316\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u7ed3\u6784<\/strong>\uff1aRedis\u652f\u6301\u66f4\u4e30\u5bcc\u7684\u6570\u636e\u7ed3\u6784\u548c\u539f\u5b50\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u5bb9\u91cf\u4e0e\u6269\u5c55<\/strong>\uff1a<code>std::map<\/code>\u53d7\u5355\u673a\u5185\u5b58\u9650\u5236\u3002Redis\u53ef\u96c6\u7fa4\u6269\u5c55\u3002<\/li>\n\n\n\n<li><strong>\u5931\u6548\u7b56\u7565<\/strong>\uff1aRedis\u652f\u6301TTL\u7b49\u4e30\u5bcc\u7b56\u7565\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>395. Redis\u662f\u5982\u4f55\u90e8\u7f72\u7684<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5355\u673a\u6a21\u5f0f<\/strong>\uff1a\u5f00\u53d1\u6d4b\u8bd5\u3002<\/li>\n\n\n\n<li><strong>\u4e3b\u4ece\u590d\u5236<\/strong>\uff1a\u4e00\u4e3b\u591a\u4ece\uff0c\u8bfb\u5199\u5206\u79bb\u3002<\/li>\n\n\n\n<li><strong>\u54e8\u5175\u6a21\u5f0f<\/strong>\uff1a\u5728\u4e3b\u4ece\u57fa\u7840\u4e0a\u5b9e\u73b0\u81ea\u52a8\u6545\u969c\u8f6c\u79fb\uff08\u9ad8\u53ef\u7528\uff09\u3002<\/li>\n\n\n\n<li><strong>\u96c6\u7fa4\u6a21\u5f0f<\/strong>\uff1a\u6570\u636e\u5206\u7247\uff0c\u6c34\u5e73\u6269\u5c55\u548c\u9ad8\u53ef\u7528\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>396. Redis\u7684\u6709\u5e8f\u96c6\u5408\u5e95\u5c42\u5b9e\u73b0\u662f\u4ec0\u4e48\uff0c\u5982\u679c\u8ba9\u4f60\u5b9e\u73b0\uff0c\u4f60\u4f1a\u600e\u4e48\u5b9e\u73b0<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5e95\u5c42\u5b9e\u73b0<\/strong>\uff1a<strong>\u8df3\u8dc3\u8868<\/strong>\u548c<strong>\u54c8\u5e0c\u8868<\/strong>\u7684\u7ed3\u5408\u3002\u54c8\u5e0c\u8868\u5b9e\u73b0O(1)\u7684\u6309\u6210\u5458\u67e5\u5206\u503c\uff0c\u8df3\u8dc3\u8868\u5b9e\u73b0\u6309\u5206\u503c\u6392\u5e8f\u548c\u8303\u56f4\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u81ea\u5df1\u5b9e\u73b0<\/strong>\uff1a\u7c7b\u4f3c\uff0c\u4f7f\u7528\u54c8\u5e0c\u8868+\u8df3\u8868\uff08\u6216\u7ea2\u9ed1\u6811\uff09\u3002\u54c8\u5e0c\u8868\u8d1f\u8d23\u5feb\u901f\u67e5\u627e\uff0c\u8df3\u8868\u8d1f\u8d23\u7ef4\u62a4\u987a\u5e8f\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>397. \u4e86\u89e3Redis\u7684\u7ebf\u7a0b\u6a21\u578b\u5417<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Redis\u662f<strong>\u5355\u7ebf\u7a0b<\/strong>\u7684\uff08\u6307\u5904\u7406\u7f51\u7edc\u8bf7\u6c42\u548c\u952e\u503c\u5bf9\u64cd\u4f5c\u7684\u6838\u5fc3\u6a21\u5757\u662f\u5355\u7ebf\u7a0b\uff09\u3002\u5b83\u4f7f\u7528I\/O\u591a\u8def\u590d\u7528\u673a\u5236\uff08\u5982epoll\uff09\u6765\u5e76\u53d1\u5904\u7406\u5927\u91cf\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u3002\u5355\u7ebf\u7a0b\u907f\u514d\u4e86\u591a\u7ebf\u7a0b\u7684\u7ade\u4e89\u548c\u4e0a\u4e0b\u6587\u5207\u6362\u3002Redis 6.0\u5f15\u5165\u4e86\u591a\u7ebf\u7a0b\u5904\u7406\u7f51\u7edcI\/O\uff0c\u4f46\u547d\u4ee4\u6267\u884c\u4ecd\u662f\u5355\u7ebf\u7a0b\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>398. Redis\u5931\u6548\u65f6\u5e94\u8be5\u600e\u4e48\u5904\u7406\uff0c\u5982\u679c\u8ba9\u4f60\u8bbe\u8ba1\u65b9\u6848\uff0c\u4f60\u4f1a\u600e\u4e48\u8bbe\u8ba1<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5931\u6548\u5904\u7406<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u6545\u969c\u8f6c\u79fb<\/strong>\uff1a\u54e8\u5175\/\u96c6\u7fa4\u81ea\u52a8\u5207\u6362\u3002<\/li>\n\n\n\n<li><strong>\u964d\u7ea7<\/strong>\uff1a\u76f4\u63a5\u8bbf\u95ee\u6570\u636e\u5e93\uff0c\u52a0\u9501\u9632\u51fb\u57ae\u3002<\/li>\n\n\n\n<li><strong>\u5feb\u901f\u6062\u590d<\/strong>\uff1a\u91cd\u542f\u5e76\u4ece\u6301\u4e45\u5316\u6587\u4ef6\u6062\u590d\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u8bbe\u8ba1\u65b9\u6848<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u9ad8\u53ef\u7528\u67b6\u6784<\/strong>\uff1a\u751f\u4ea7\u73af\u5883\u5fc5\u987b\u7528Sentinel\u6216Cluster\u3002<\/li>\n\n\n\n<li><strong>\u591a\u7ea7\u7f13\u5b58<\/strong>\uff1a\u672c\u5730\u7f13\u5b58+Redis\u3002<\/li>\n\n\n\n<li><strong>\u7194\u65ad\u4e0e\u964d\u7ea7<\/strong>\uff1a\u4f7f\u7528Hystrix\u7b49\u5de5\u5177\u3002<\/li>\n\n\n\n<li><strong>\u76d1\u63a7\u4e0e\u544a\u8b66<\/strong>\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>399. \u4e00\u6761SQL\u67e5\u8be2\u8bed\u53e5\u662f\u5982\u4f55\u6267\u884c\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5MySQL\u4e3a\u4f8b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8fde\u63a5\u5668<\/strong>\uff1a\u7ba1\u7406\u8fde\u63a5\uff0c\u6743\u9650\u9a8c\u8bc1\u3002<\/li>\n\n\n\n<li><strong>\u5206\u6790\u5668<\/strong>\uff1a\u8bcd\u6cd5\u3001\u8bed\u6cd5\u5206\u6790\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5316\u5668<\/strong>\uff1a\u751f\u6210\u6267\u884c\u8ba1\u5212\u3002<\/li>\n\n\n\n<li><strong>\u6267\u884c\u5668<\/strong>\uff1a\u8c03\u7528\u5b58\u50a8\u5f15\u64ce\u63a5\u53e3\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u5b58\u50a8\u5f15\u64ce<\/strong>\uff1a\u5b58\u50a8\u548c\u63d0\u53d6\u6570\u636e\uff08\u5982InnoDB\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>400. MySQL\u7684\u6267\u884c\u5f15\u64ce\u6709\u54ea\u4e9b\uff0c\u6bcf\u4e2a\u5206\u522b\u652f\u6301\u4e9b\u5565<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5e38\u89c1\u5f15\u64ce\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>InnoDB<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u652f\u6301<\/strong>\uff1a\u4e8b\u52a1\u3001\u884c\u7ea7\u9501\u3001\u5916\u952e\u3001MVCC\u3002<strong>MySQL 5.5\u540e\u9ed8\u8ba4\u5f15\u64ce<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>MyISAM<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u652f\u6301<\/strong>\uff1a\u8868\u7ea7\u9501\u3001\u5168\u6587\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u4e0d\u652f\u6301<\/strong>\uff1a\u4e8b\u52a1\u3001\u884c\u7ea7\u9501\u3001\u5916\u952e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Memory<\/strong>\uff1a\u6570\u636e\u5b58\u5185\u5b58\uff0c\u901f\u5ea6\u5feb\uff0c\u91cd\u542f\u4e22\u5931\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>401. \u8bf4\u4e00\u4e0b\u7d22\u5f15\u5931\u6548\u7684\u573a\u666f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c361\u9898\u3002\u5e38\u89c1\u573a\u666f\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u7d22\u5f15\u5217\u8fdb\u884c\u8fd0\u7b97\u6216\u51fd\u6570\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>!=<\/code>\u6216<code>&lt;><\/code>\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<code>OR<\/code>\u8fde\u63a5\u4e0d\u540c\u7d22\u5f15\u5217\u7684\u6761\u4ef6\u3002<\/li>\n\n\n\n<li>\u5de6\u6a21\u7cca\u5339\u914d\uff08<code>LIKE '%abc'<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u4e0d\u7b26\u5408\u6700\u5de6\u524d\u7f00\u539f\u5219\uff08\u590d\u5408\u7d22\u5f15\uff09\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u7c7b\u578b\u9690\u5f0f\u8f6c\u6362\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>402. undo log\uff0credo log\uff0cbin log\u6709\u4ec0\u4e48\u7528<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>undo log<\/strong>\uff1a<strong>\u56de\u6eda\u65e5\u5fd7<\/strong>\u3002\u7528\u4e8e\u4e8b\u52a1\u56de\u6eda\u548cMVCC\uff0c\u4fdd\u8bc1<strong>\u539f\u5b50\u6027<\/strong>\u3002<\/li>\n\n\n\n<li><strong>redo log<\/strong>\uff1a<strong>\u91cd\u505a\u65e5\u5fd7<\/strong>\u3002\u7528\u4e8e\u5d29\u6e83\u6062\u590d\uff0c\u4fdd\u8bc1<strong>\u6301\u4e45\u6027<\/strong>\u3002\u8bb0\u5f55\u7684\u662f\u7269\u7406\u4fee\u6539\u3002<\/li>\n\n\n\n<li><strong>bin log<\/strong>\uff1a<strong>\u5f52\u6863\u65e5\u5fd7<\/strong>\u3002\u7528\u4e8e\u4e3b\u4ece\u590d\u5236\u548c\u6570\u636e\u6062\u590d\u3002\u8bb0\u5f55\u7684\u662f\u903b\u8f91\u64cd\u4f5c\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>403. \u4ec0\u4e48\u662f\u6162\u67e5\u8be2\uff0c\u539f\u56e0\u662f\u4ec0\u4e48\uff0c\u53ef\u4ee5\u600e\u4e48\u4f18\u5316<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6162\u67e5\u8be2<\/strong>\uff1a\u6267\u884c\u65f6\u95f4\u8d85\u8fc7<code>long_query_time<\/code>\u9608\u503c\u7684SQL\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0<\/strong>\uff1a\u672a\u7528\u7d22\u5f15\u3001\u5168\u8868\u626b\u63cf\u3001\u9501\u7b49\u5f85\u3001\u590d\u6742\u67e5\u8be2\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5316<\/strong>\uff1a\u4f7f\u7528<code>EXPLAIN<\/code>\u5206\u6790\u3001\u521b\u5efa\u7d22\u5f15\u3001\u4f18\u5316SQL\u3001\u5206\u5e93\u5206\u8868\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>404. Redis\u662f\u5355\u7ebf\u7a0b\u8fd8\u662f\u591a\u7ebf\u7a0b\u7684\uff0c\u4e3a\u4ec0\u4e48<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u7f51\u7edcI\/O\u548c\u6570\u636e\u64cd\u4f5c<\/strong>\uff1a\u5728Redis 6.0\u4e4b\u524d\u662f<strong>\u7eaf\u5355\u7ebf\u7a0b<\/strong>\u30026.0\u4e4b\u540e\uff0c<strong>\u7f51\u7edcI\/O\u5904\u7406\u53d8\u6210\u4e86\u591a\u7ebf\u7a0b<\/strong>\uff0c\u4f46<strong>\u6838\u5fc3\u7684\u547d\u4ee4\u89e3\u6790\u548c\u6267\u884c\u4ecd\u7136\u662f\u5355\u7ebf\u7a0b<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4e3a\u4ec0\u4e48\uff08\u6838\u5fc3\u90e8\u5206\u4fdd\u6301\u5355\u7ebf\u7a0b\uff09<\/strong>\uff1a\u907f\u514d\u7ade\u4e89\u6761\u4ef6\u3001\u7b80\u5316\u5b9e\u73b0\u3001\u6027\u80fd\u74f6\u9888\u901a\u5e38\u5728\u5185\u5b58\u548c\u7f51\u7edc\u800c\u975eCPU\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>405. \u7f13\u5b58\u96ea\u5d29\uff0c\u51fb\u7a7f\uff0c\u7a7f\u900f\u548c\u89e3\u51b3\u529e\u6cd5<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7f13\u5b58\u96ea\u5d29<\/strong>\uff1a\u5927\u91cf\u7f13\u5b58\u540c\u65f6\u5931\u6548 -> \u8bbe\u7f6e\u4e0d\u540c\u8fc7\u671f\u65f6\u95f4\u3001\u9ad8\u53ef\u7528\u96c6\u7fa4\u3002<\/li>\n\n\n\n<li><strong>\u7f13\u5b58\u7a7f\u900f<\/strong>\uff1a\u67e5\u8be2\u4e0d\u5b58\u5728\u7684\u6570\u636e -> \u7f13\u5b58\u7a7a\u5bf9\u8c61\u3001\u5e03\u9686\u8fc7\u6ee4\u5668\u3002<\/li>\n\n\n\n<li><strong>\u7f13\u5b58\u51fb\u7a7f<\/strong>\uff1a\u70ed\u70b9key\u5931\u6548 -> \u6c38\u4e0d\u8fc7\u671f\u3001\u4e92\u65a5\u9501\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>406. \u5982\u4f55\u4fdd\u8bc1\u6570\u636e\u5e93\u548c\u7f13\u5b58\u7684\u4e00\u81f4\u6027<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5e38\u7528\u7b56\u7565\u662f <strong>Cache Aside Pattern<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bfb<\/strong>\uff1a\u5148\u8bfb\u7f13\u5b58\uff0c\u672a\u547d\u4e2d\u5219\u8bfb\u5e93\u5e76\u5199\u7f13\u5b58\u3002<\/li>\n\n\n\n<li><strong>\u5199<\/strong>\uff1a\u5148\u66f4\u65b0\u6570\u636e\u5e93\uff0c\u518d<strong>\u5220\u9664\u7f13\u5b58<\/strong>\u3002 \u8fd8\u53ef\u914d\u5408<strong>\u5ef6\u8fdf\u53cc\u5220<\/strong>\u3001<strong>\u8bbe\u7f6e\u7f13\u5b58\u8fc7\u671f\u65f6\u95f4<\/strong>\u7b49\u7b56\u7565\u5b9e\u73b0\u6700\u7ec8\u4e00\u81f4\u6027\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>407. \u8bbe\u8ba1\u6a21\u5f0f &#8211; \u4e3a\u4ec0\u4e48\u7528\u7ec4\u5408\u800c\u4e0d\u8981\u7528\u7ee7\u627f<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ee7\u627f\u7f3a\u70b9<\/strong>\uff1a\u7834\u574f\u5c01\u88c5\u3001\u8026\u5408\u5ea6\u9ad8\u3001\u7c7b\u7206\u70b8\u3001\u884c\u4e3a\u5728\u7f16\u8bd1\u65f6\u786e\u5b9a\u3002<\/li>\n\n\n\n<li><strong>\u7ec4\u5408\u4f18\u70b9<\/strong>\uff1a\u5c01\u88c5\u6027\u597d\u3001\u8026\u5408\u5ea6\u4f4e\u3001\u66f4\u7075\u6d3b\uff08\u53ef\u5728\u8fd0\u884c\u65f6\u6539\u53d8\u884c\u4e3a\uff09\u3002\u7b26\u5408<strong>\u7ec4\u5408\/\u805a\u5408\u590d\u7528\u539f\u5219<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>408. \u5355\u4f8b\u6a21\u5f0f\u7684\u6784\u9020\u51fd\u6570\uff0c\u5355\u4f8b\u6a21\u5f0f\u7684\u521b\u5efa\u8fc7\u7a0b\uff0c\u5982\u4f55\u4fdd\u8bc1\u7ebf\u7a0b\u5b89\u5168<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6784\u9020\u51fd\u6570<\/strong>\uff1a\u5fc5\u987b\u662f<strong>\u79c1\u6709<\/strong>\u7684\u3002<\/li>\n\n\n\n<li><strong>\u521b\u5efa\u8fc7\u7a0b<\/strong>\uff1a\u901a\u8fc7\u9759\u6001\u65b9\u6cd5\uff08\u5982<code>getInstance()<\/code>\uff09\u83b7\u53d6\u552f\u4e00\u5b9e\u4f8b\u3002<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u5b89\u5168\u5b9e\u73b0<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u997f\u6c49\u5f0f<\/strong>\uff1a\u7c7b\u52a0\u8f7d\u65f6\u521d\u59cb\u5316\u3002<\/li>\n\n\n\n<li><strong>\u61d2\u6c49\u5f0f\uff08DCL\uff09<\/strong>\uff1a\u53cc\u91cd\u68c0\u67e5\u9501\u5b9a\uff0c\u9700\u52a0<code>volatile<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u9759\u6001\u5185\u90e8\u7c7b<\/strong>\uff1a\u5229\u7528\u7c7b\u52a0\u8f7d\u673a\u5236\u3002<\/li>\n\n\n\n<li><strong>\u679a\u4e3e<\/strong>\uff1a\u6700\u7b80\u6d01\u5b89\u5168\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>409. \u5982\u4f55\u4f7f\u7528\u5355\u4f8b\u6a21\u5f0f\uff0c\u6709\u4ec0\u4e48\u6ce8\u610f\u4e8b\u9879<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528<\/strong>\uff1a\u901a\u8fc7<code>Singleton.getInstance()<\/code>\u83b7\u53d6\u5b9e\u4f8b\u3002<\/li>\n\n\n\n<li><strong>\u6ce8\u610f\u4e8b\u9879<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7ebf\u7a0b\u5b89\u5168\u3002<\/li>\n\n\n\n<li>\u9632\u6b62\u53cd\u5c04\u653b\u51fb\uff08\u6784\u9020\u51fd\u6570\u4e2d\u5224\u65ad\u5b9e\u4f8b\u662f\u5426\u5b58\u5728\uff09\u3002<\/li>\n\n\n\n<li>\u9632\u6b62\u53cd\u5e8f\u5217\u5316\u521b\u5efa\u65b0\u5bf9\u8c61\uff08\u5b9e\u73b0<code>readResolve<\/code>\u65b9\u6cd5\uff09\u3002<\/li>\n\n\n\n<li>\u8003\u8651\u7c7b\u52a0\u8f7d\u5668\u7684\u5f71\u54cd\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>410. \u5982\u679c\u7528\u5355\u4f8b\u6a21\u5f0f\u65f6\u521b\u5efa\u4e86\u591a\u4e2a\u5bf9\u8c61\uff0c\u5982\u4f55\u5b9a\u4f4d\u95ee\u9898<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u68c0\u67e5\u7ebf\u7a0b\u5b89\u5168\u7684\u5b9e\u73b0\u662f\u5426\u6b63\u786e\uff08\u5982DCL\uff09\u3002<\/li>\n\n\n\n<li>\u68c0\u67e5\u662f\u5426\u6709\u53cd\u5c04\u8c03\u7528\u79c1\u6709\u6784\u9020\u51fd\u6570\u3002<\/li>\n\n\n\n<li>\u68c0\u67e5\u53cd\u5e8f\u5217\u5316\u662f\u5426\u7834\u574f\u4e86\u5355\u4f8b\u3002<\/li>\n\n\n\n<li>\u68c0\u67e5\u662f\u5426\u5b58\u5728\u591a\u4e2a\u7c7b\u52a0\u8f7d\u5668\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>411. \u8bf7\u7b80\u8ff0\u4e00\u4e0b\u9002\u914d\u5668\u6a21\u5f0f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c06\u4e00\u4e2a\u7c7b\u7684\u63a5\u53e3\u8f6c\u6362\u6210\u5ba2\u6237\u671f\u671b\u7684\u53e6\u4e00\u4e2a\u63a5\u53e3\uff0c\u4f7f\u63a5\u53e3\u4e0d\u517c\u5bb9\u7684\u7c7b\u53ef\u4ee5\u4e00\u8d77\u5de5\u4f5c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u89d2\u8272<\/strong>\uff1a\u76ee\u6807\u63a5\u53e3\u3001\u88ab\u9002\u914d\u8005\u3001\u9002\u914d\u5668\u3002<\/li>\n\n\n\n<li><strong>\u5206\u7c7b<\/strong>\uff1a\u7c7b\u9002\u914d\u5668\uff08\u7ee7\u627f\uff09\u3001\u5bf9\u8c61\u9002\u914d\u5668\uff08\u7ec4\u5408\uff0c\u66f4\u5e38\u7528\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>412. \u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u89c2\u5bdf\u8005\u6a21\u5f0f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u89c2\u5bdf\u8005\u6a21\u5f0f\u5b9a\u4e49\u4e86\u4e00\u79cd\u4e00\u5bf9\u591a\u7684\u4f9d\u8d56\u5173\u7cfb\u3002\u5f53\u4e00\u4e2a\u5bf9\u8c61\uff08\u4e3b\u9898\uff09\u72b6\u6001\u6539\u53d8\u65f6\uff0c\u6240\u6709\u4f9d\u8d56\u5b83\u7684\u5bf9\u8c61\uff08\u89c2\u5bdf\u8005\uff09\u90fd\u4f1a\u5f97\u5230\u901a\u77e5\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u590d\u5236\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ \u4e3b\u9898\u63a5\u53e3\ninterface Subject {\n    void registerObserver(Observer o);\n    void removeObserver(Observer o);\n    void notifyObservers();\n}\n\/\/ \u89c2\u5bdf\u8005\u63a5\u53e3\ninterface Observer {\n    void update(String message);\n}\n\/\/ \u5177\u4f53\u4e3b\u9898\nclass ConcreteSubject implements Subject {\n    private List&lt;Observer&gt; observers = new ArrayList&lt;&gt;();\n    private String state;\n    public void setState(String state) {\n        this.state = state;\n        notifyObservers();\n    }\n    \/\/ \u5b9e\u73b0\u6ce8\u518c\u3001\u79fb\u9664\u3001\u901a\u77e5\u65b9\u6cd5...\n}\n\/\/ \u5177\u4f53\u89c2\u5bdf\u8005\nclass ConcreteObserver implements Observer {\n    private String name;\n    public ConcreteObserver(String name) { this.name = name; }\n    @Override\n    public void update(String message) {\n        System.out.println(name + \" received: \" + message);\n    }\n}<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>413. \u4f7f\u7528\u8fc7\u7684\u8bbe\u8ba1\u6a21\u5f0f\uff0c\u5e94\u7528\u573a\u666f\uff0c\u5982\u4f55\u5e94\u7528\uff1f\u9610\u8ff0\u4e1a\u52a1\u80cc\u666f\u548c\u5e94\u7528\u65b9\u5f0f<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u793a\u4f8b\u56de\u7b54<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6a21\u5f0f<\/strong>\uff1a\u5de5\u5382\u65b9\u6cd5\u6a21\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u80cc\u666f<\/strong>\uff1a\u652f\u4ed8\u7cfb\u7edf\u9700\u8981\u652f\u6301\u591a\u79cd\u652f\u4ed8\u6e20\u9053\uff08\u652f\u4ed8\u5b9d\u3001\u5fae\u4fe1\u3001\u94f6\u8054\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5e94\u7528<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5b9a\u4e49<code>PaymentHandler<\/code>\u63a5\u53e3\u548c<code>pay()<\/code>\u65b9\u6cd5\u3002<\/li>\n\n\n\n<li>\u521b\u5efa\u5177\u4f53\u5904\u7406\u5668\u7c7b\uff08<code>AlipayHandler<\/code>, <code>WechatPayHandler<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u521b\u5efa<code>PaymentHandlerFactory<\/code>\uff0c\u6839\u636e\u6e20\u9053\u7c7b\u578b\u8fd4\u56de\u5bf9\u5e94\u7684\u5904\u7406\u5668\u5b9e\u4f8b\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u597d\u5904<\/strong>\uff1a\u5c06\u5bf9\u8c61\u521b\u5efa\u4e0e\u4f7f\u7528\u5206\u79bb\uff0c\u7b26\u5408\u5f00\u95ed\u539f\u5219\uff0c\u6613\u4e8e\u6269\u5c55\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>414. \u7f51\u76d8\u9879\u76ee &#8211; \u5ba2\u6237\u7aef\u53d1\u9001\u6d88\u606f\u7ed9\u670d\u52a1\u5668\uff0c\u670d\u52a1\u5668\u7aef\u662f\u5982\u4f55\u89e3\u6790\u7684<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49\u5e94\u7528\u5c42\u534f\u8bae<\/strong>\uff1a\u5305\u542b\u6d88\u606f\u5934\uff08\u7c7b\u578b\u3001\u7248\u672c\u3001\u957f\u5ea6\uff09\u548c\u6d88\u606f\u4f53\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u51b3\u7c98\u5305<\/strong>\uff1a\u6839\u636e\u957f\u5ea6\u5b57\u6bb5\uff08\u56fa\u5b9a\u5934\u957f\u6216\u5934\u4e2d\u5305\u542b\u4f53\u957f\uff09\u6765\u8bfb\u53d6\u5b8c\u6574\u6d88\u606f\u3002<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u89e3\u6790<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8bfb\u56fa\u5b9a\u957f\u5ea6\u6d88\u606f\u5934 -> \u89e3\u6790\u6d88\u606f\u7c7b\u578b\u548c\u4f53\u957f\u3002<\/li>\n\n\n\n<li>\u6839\u636e\u4f53\u957f\u8bfb\u5b8c\u6574\u6d88\u606f\u4f53 -> \u53cd\u5e8f\u5217\u5316\u6210\u4e1a\u52a1\u5bf9\u8c61\uff08\u5982\u767b\u5f55\u8bf7\u6c42\uff09\u3002<\/li>\n\n\n\n<li>\u6839\u636e\u6d88\u606f\u7c7b\u578b\u5206\u53d1\u7ed9\u5bf9\u5e94\u7684\u5904\u7406\u5668\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>415. \u591a\u4e2a\u7528\u6237\u4e0a\u4f20\u540c\u4e00\u4efd\u6587\u4ef6\u8be5\u5982\u4f55\u5904\u7406<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f7f\u7528<strong>\u79d2\u4f20<\/strong>\u6280\u672f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u8ba1\u7b97\u6587\u4ef6\u54c8\u5e0c\u503c\uff08\u5982MD5\/SHA-1\uff09\u3002<\/li>\n\n\n\n<li>\u4e0a\u4f20\u524d\u8be2\u95ee\u670d\u52a1\u5668\u8be5\u54c8\u5e0c\u503c\u7684\u6587\u4ef6\u662f\u5426\u5b58\u5728\u3002<\/li>\n\n\n\n<li>\u82e5\u5b58\u5728\uff0c\u670d\u52a1\u5668\u4ec5\u5728\u6570\u636e\u5e93\u5efa\u7acb\u7528\u6237\u4e0e\u6587\u4ef6\u7684\u5173\u8054\u8bb0\u5f55\uff0c\u65e0\u9700\u5b58\u50a8\u6587\u4ef6\u5185\u5bb9\u3002<\/li>\n\n\n\n<li>\u82e5\u4e0d\u5b58\u5728\uff0c\u6267\u884c\u6b63\u5e38\u4e0a\u4f20\u6d41\u7a0b\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>416. \u79d2\u4f20\u5982\u4f55\u5b9e\u73b0<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c415\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>417. \u65ad\u70b9\u7eed\u4f20\u5982\u4f55\u5b9e\u73b0<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5ba2\u6237\u7aef<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u6587\u4ef6\u5206\u7247\uff0c\u8bb0\u5f55\u5df2\u4e0a\u4f20\u5206\u7247\u3002<\/li>\n\n\n\n<li>\u4e0a\u4f20\u524d\u8be2\u95ee\u670d\u52a1\u5668\u5df2\u63a5\u6536\u7684\u5206\u7247\u5217\u8868\u3002<\/li>\n\n\n\n<li>\u53ea\u4e0a\u4f20\u7f3a\u5931\u7684\u5206\u7247\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u7aef<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u652f\u6301\u4ece\u6307\u5b9a\u504f\u79fb\u91cf\u5199\u5165\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u8bb0\u5f55\u6587\u4ef6\u4e0a\u4f20\u8fdb\u5ea6\u3002<\/li>\n\n\n\n<li>\u63a5\u6536\u5206\u7247\u5e76\u5199\u5165\u6587\u4ef6\u6307\u5b9a\u4f4d\u7f6e\u3002<\/li>\n\n\n\n<li>\u5168\u90e8\u5206\u7247\u5b8c\u6210\u540e\u5408\u5e76\u6216\u66f4\u65b0\u72b6\u6001\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>418. \u8bb2\u4e00\u4e0b\u865a\u62df\u6587\u4ef6\u76ee\u5f55<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3a\u7528\u6237\u63d0\u4f9b\u903b\u8f91\u6587\u4ef6\u89c6\u56fe\uff0c\u4e0e\u7269\u7406\u5b58\u50a8\u8def\u5f84\u65e0\u5173\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u5728\u6570\u636e\u5e93\u7ef4\u62a4\u5143\u4fe1\u606f\u8868\uff08ID\u3001\u7236\u76ee\u5f55ID\u3001\u540d\u79f0\u3001\u7c7b\u578b\u3001\u6240\u5c5e\u7528\u6237\u3001\u7269\u7406\u8def\u5f84\u6807\u8bc6\u7b49\uff09\u3002<\/li>\n\n\n\n<li><strong>\u64cd\u4f5c<\/strong>\uff1a\u7528\u6237\u7684\u589e\u5220\u6539\u67e5\u53ea\u66f4\u65b0\u6570\u636e\u5e93\u8bb0\u5f55\uff0c\u4e0d\u6d89\u53ca\u7269\u7406\u6587\u4ef6\u79fb\u52a8\uff0c\u54cd\u5e94\u5feb\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>419. \u524d\u540e\u7aef\u7684\u901a\u4fe1\u65b9\u5f0f\u77e5\u9053\u54ea\u51e0\u79cd<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u77ed\u8f6e\u8be2<\/strong>\uff1a\u5ba2\u6237\u7aef\u5b9a\u671f\u8be2\u95ee\u670d\u52a1\u5668\u3002<\/li>\n\n\n\n<li><strong>\u957f\u8f6e\u8be2<\/strong>\uff1a\u670d\u52a1\u5668hold\u4f4f\u8fde\u63a5\uff0c\u6709\u6570\u636e\u6216\u8d85\u65f6\u624d\u8fd4\u56de\u3002<\/li>\n\n\n\n<li><strong>Server-Sent Events (SSE)<\/strong>\uff1a\u670d\u52a1\u5668\u53ef\u5355\u5411\u63a8\u9001\u6570\u636e\u7ed9\u5ba2\u6237\u7aef\u3002<\/li>\n\n\n\n<li><strong>WebSocket<\/strong>\uff1a\u5168\u53cc\u5de5\u53cc\u5411\u901a\u4fe1\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>420. \u5f53\u4f60\u4e0a\u4f20\u6587\u4ef6\u6216\u66f4\u6539\u6587\u4ef6\u65f6\uff0c\u5982\u679c\u51fa\u73b0\u95ee\u9898\uff0c\u7f51\u7edc\u4e2d\u65ad\u4e86\uff0c\u4f1a\u4e0d\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u548c\u6587\u4ef6\u5bf9\u4e0d\u4e0a\uff0c\u600e\u4e48\u89e3\u51b3\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f1a<\/strong>\u3002\u9700\u4fdd\u8bc1\u64cd\u4f5c\u539f\u5b50\u6027\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u8865\u507f\u673a\u5236\/\u6700\u7ec8\u4e00\u81f4\u6027<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8bb0\u5f55\u64cd\u4f5c\u72b6\u6001\uff08\u5982\u201c\u4e0a\u4f20\u4e2d\u201d\uff09\u3002\u5b9a\u65f6\u4efb\u52a1\u6e05\u7406\u5f02\u5e38\u72b6\u6001\u7684\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u91c7\u7528<strong>\u8f6f\u5220\u9664<\/strong>\uff0c\u5148\u6807\u8bb0\u518d\u7269\u7406\u5220\u9664\uff0c\u4fbf\u4e8e\u6062\u590d\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u64cd\u4f5c\u65e5\u5fd7<\/strong>\uff1a\u7528\u4e8e\u6545\u969c\u6062\u590d\u548c\u5bf9\u8d26\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>421. \u5982\u4f55\u505atoken\u9a8c\u8bc1<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u767b\u5f55\u6210\u529f\uff0c\u670d\u52a1\u5668\u751f\u6210Token\uff08\u5982JWT\uff09\u8fd4\u56de\u5ba2\u6237\u7aef\u3002<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u5b58\u50a8Token\uff08LocalStorage\/Cookie\uff09\u3002<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u8bf7\u6c42\u65f6\u5728Header\uff08\u5982<code>Authorization: Bearer &lt;token><\/code>\uff09\u4e2d\u643a\u5e26Token\u3002<\/li>\n\n\n\n<li>\u670d\u52a1\u5668\u7aef\u62e6\u622a\u5668\u9a8c\u8bc1Token\uff08\u7b7e\u540d\u3001\u6709\u6548\u671f\uff09\uff0c\u6709\u6548\u5219\u653e\u884c\uff0c\u65e0\u6548\u8fd4\u56de401\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>422. \u7f51\u76d8\u9879\u76ee\u7684\u7f51\u7edc\u901a\u4fe1\u65b9\u5f0f<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5927\u6587\u4ef6\u4f20\u8f93<\/strong>\uff1a\u76f4\u63a5\u4f7f\u7528<strong>TCP\u957f\u8fde\u63a5<\/strong>\uff08\u81ea\u5b9a\u4e49\u534f\u8bae\u6216\u57fa\u4e8eHTTP\uff09\u3002<\/li>\n\n\n\n<li><strong>\u63a7\u5236\u547d\u4ee4<\/strong>\uff08\u767b\u5f55\u3001\u5217\u8868\uff09\uff1a\u53ef\u4f7f\u7528\u57fa\u4e8eTCP\u7684\u81ea\u5b9a\u4e49\u534f\u8bae\u6216RESTful API over HTTP\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>423. \u6709\u8003\u8651\u8fc7\u591a\u7ebf\u7a0b\u540c\u65f6\u4e0a\u4f20\u4e00\u4e2a\u6587\u4ef6\u7684\u95ee\u9898\u5417<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u9700\u8981\u8003\u8651<strong>\u5e76\u53d1\u5199\u51b2\u7a81<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\u4e00\u4e2a\u6587\u4ef6\u7684\u4e00\u6b21\u4e0a\u4f20\u4f1a\u8bdd\u5e94\u7531\u4e00\u4e2a\u5ba2\u6237\u7aef\u7ebf\u7a0b\u5b8c\u6210\u3002\u82e5\u652f\u6301\u5206\u5757\u4e0a\u4f20\uff0c\u4e0d\u540c\u5757\u53ef\u5e76\u884c\uff0c\u4f46\u540c\u4e00\u5757\u9700\u987a\u5e8f\u4e0a\u4f20\u3002\u670d\u52a1\u5668\u7aef\u9700\u52a0\u9501\u6216\u4f7f\u7528\u4e50\u89c2\u9501\u673a\u5236\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>424. md5\u7684\u7b97\u6cd5\u662f\u81ea\u5df1\u5b9e\u73b0\u7684\u5417<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u901a\u5e38\u4e0d\u4f1a<\/strong>\u3002\u5e94\u4f7f\u7528\u6210\u719f\u3001\u5b89\u5168\u7684\u7b2c\u4e09\u65b9\u5e93\uff08\u5982OpenSSL\u3001Java\u7684<code>MessageDigest<\/code>\u7c7b\uff09\u3002\u81ea\u5df1\u5b9e\u73b0\u53ef\u80fd\u5b58\u5728\u6f0f\u6d1e\u6216\u6027\u80fd\u95ee\u9898\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>425. \u6587\u4ef6\u5982\u4f55\u548c\u7528\u6237\u7ed1\u5b9a<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u6570\u636e\u5e93\u7684\u7528\u6237\u6587\u4ef6\u8868\u4e2d\u5efa\u7acb\u5173\u8054\u3002\u8868\u7ed3\u6784\u5305\u542b\uff1a<code>id<\/code>, <code>user_id<\/code>, <code>filename<\/code>, <code>virtual_path<\/code>, <code>file_hash<\/code>, <code>size<\/code>, <code>create_time<\/code>\u7b49\u3002\u901a\u8fc7<code>user_id<\/code>\u548c<code>virtual_path<\/code>\/<code>filename<\/code>\u552f\u4e00\u786e\u5b9a\u7528\u6237\u6587\u4ef6\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>426. \u8fde\u63a5\u4f7f\u7528\u7684\u662f\u957f\u94fe\u63a5\u8fd8\u662f\u77ed\u94fe\u63a5<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bf9\u4e8e\u9700\u8981\u9891\u7e41\u4ea4\u4e92\u7684\u7f51\u76d8\u9879\u76ee\uff0c<strong>\u957f\u8fde\u63a5<\/strong>\u662f\u66f4\u597d\u7684\u9009\u62e9\uff0c\u51cf\u5c11TCP\u8fde\u63a5\u5efa\u7acb\/\u65ad\u5f00\u7684\u5f00\u9500\u3002\u63a7\u5236\u547d\u4ee4\u4e5f\u53ef\u4f7f\u7528HTTP\/1.1\u6301\u4e45\u8fde\u63a5\u6216HTTP\/2\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>427. \u957f\u94fe\u63a5socket\u7684\u53c2\u6570\u662f\u600e\u4e48\u8bbe\u7f6e\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u901a\u8fc7\u8bbe\u7f6esocket\u9009\u9879\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>SO_KEEPALIVE<\/code>\uff1a\u5f00\u542fTCP\u4fdd\u6d3b\u673a\u5236\u3002<\/li>\n\n\n\n<li><code>SO_SNDBUF<\/code>\/<code>SO_RCVBUF<\/code>\uff1a\u8bbe\u7f6e\u53d1\u9001\/\u63a5\u6536\u7f13\u51b2\u533a\u5927\u5c0f\u3002<\/li>\n\n\n\n<li><code>TCP_NODELAY<\/code>\uff1a\u7981\u7528Nagle\u7b97\u6cd5\uff0c\u51cf\u5c11\u5c0f\u5305\u5ef6\u8fdf\u3002<\/li>\n\n\n\n<li><code>SO_RCVTIMEO<\/code>\/<code>SO_SNDTIMEO<\/code>\uff1a\u8bbe\u7f6e\u8d85\u65f6\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>428. \u7ebf\u7a0b\u6c60\u662f\u5982\u4f55\u5b9e\u73b0\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3b\u8981\u7ec4\u6210\u90e8\u5206\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4efb\u52a1\u961f\u5217<\/strong>\uff08\u963b\u585e\u961f\u5217\uff09\uff1a\u5b58\u653e\u5f85\u6267\u884c\u4efb\u52a1\u3002<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u7ebf\u7a0b\u96c6\u5408<\/strong>\uff1a\u5faa\u73af\u4ece\u961f\u5217\u53d6\u4efb\u52a1\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u6c60\u7ba1\u7406\u5668<\/strong>\uff1a\u521b\u5efa\u3001\u9500\u6bc1\u7ebf\u7a0b\uff0c\u7ba1\u7406\u72b6\u6001\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5de5\u4f5c\u6d41\u7a0b<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u63d0\u4ea4\u4efb\u52a1\uff0c\u82e5\u6709\u7a7a\u95f2\u6838\u5fc3\u7ebf\u7a0b\u5219\u7acb\u5373\u6267\u884c\u3002<\/li>\n\n\n\n<li>\u82e5\u65e0\uff0c\u4efb\u52a1\u5165\u961f\u3002<\/li>\n\n\n\n<li>\u82e5\u961f\u5217\u6ee1\uff0c\u521b\u5efa\u65b0\u7ebf\u7a0b\uff08\u76f4\u81f3\u8fbe\u6700\u5927\u7ebf\u7a0b\u6570\uff09\u3002<\/li>\n\n\n\n<li>\u82e5\u7ebf\u7a0b\u6570\u5df2\u8fbe\u6700\u5927\u4e14\u961f\u5217\u6ee1\uff0c\u6267\u884c\u62d2\u7edd\u7b56\u7565\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>429. \u7ebf\u7a0b\u6c60\u5728\u9879\u76ee\u5f53\u4e2d\u662f\u600e\u4e48\u7528\u7684\uff0c\u5206\u522b\u6709\u54ea\u4e9b\u7ebf\u7a0b\uff0c\u5b83\u4eec\u662f\u600e\u4e48\u5206\u5de5\u7684<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7528\u6cd5<\/strong>\uff1a\u521b\u5efa<code>ThreadPoolExecutor<\/code>\uff0c\u63d0\u4ea4\u4efb\u52a1\u3002<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u5206\u5de5\u793a\u4f8b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u7f51\u7edcI\/O\u7ebf\u7a0b<\/strong>\uff08Netty boss\/worker group\uff09\uff1a\u5904\u7406\u8fde\u63a5\u548c\u6570\u636e\u8bfb\u5199\u3002<\/li>\n\n\n\n<li><strong>\u4e1a\u52a1\u903b\u8f91\u7ebf\u7a0b\u6c60<\/strong>\uff1a\u6267\u884c\u8017\u65f6\u8ba1\u7b97\uff0c\u9632\u963b\u585eI\/O\u7ebf\u7a0b\u3002<\/li>\n\n\n\n<li><strong>\u6587\u4ef6I\/O\u7ebf\u7a0b\u6c60<\/strong>\uff1a\u4e13\u5904\u7406\u78c1\u76d8\u8bfb\u5199\u3002<\/li>\n\n\n\n<li><strong>\u5b9a\u65f6\u4efb\u52a1\u7ebf\u7a0b\u6c60<\/strong>\uff08<code>ScheduledThreadPoolExecutor<\/code>\uff09\uff1a\u6267\u884c\u5b9a\u65f6\/\u5ef6\u8fdf\u4efb\u52a1\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>430. \u7ebf\u7a0b\u6c60\u4e2d\u7684\u7ebf\u7a0b\u6570\u76ee\u662f\u5426\u4f1a\u968f\u5e76\u53d1\u91cf\u52a8\u6001\u589e\u52a0<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f1a\u7684<\/strong>\u3002\u53d6\u51b3\u4e8e\u914d\u7f6e\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u7ebf\u7a0b\u6570<\/strong>\uff1a\u5e38\u9a7b\u7ebf\u7a0b\u6570\u3002<\/li>\n\n\n\n<li><strong>\u6700\u5927\u7ebf\u7a0b\u6570<\/strong>\uff1a\u5141\u8bb8\u521b\u5efa\u7684\u6700\u5927\u7ebf\u7a0b\u6570\u3002<\/li>\n\n\n\n<li><strong>\u5de5\u4f5c\u961f\u5217<\/strong>\uff1a\u5b58\u653e\u5f85\u5904\u7406\u4efb\u52a1\u3002 \u5f53\u4efb\u52a1\u63d0\u4ea4\u901f\u5ea6 > \u5904\u7406\u901f\u5ea6\uff0c\u4e14\u6838\u5fc3\u7ebf\u7a0b\u5fd9\u3001\u961f\u5217\u6ee1\u65f6\uff0c\u4f1a\u521b\u5efa\u65b0\u7ebf\u7a0b\uff08\u76f4\u81f3\u6700\u5927\u7ebf\u7a0b\u6570\uff09\uff0c\u52a8\u6001\u589e\u52a0\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>431. \u5982\u4f55\u786e\u5b9a\u7ebf\u7a0b\u6c60\u4e2d\u7ebf\u7a0b\u7684\u72b6\u6001<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ebf\u7a0b\u6c60\u4e0d\u76f4\u63a5\u66b4\u9732\u5185\u90e8\u7ebf\u7a0b\u72b6\u6001\u3002\u53ef\u95f4\u63a5\u4e86\u89e3\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u76d1\u63a7\u6307\u6807<\/strong>\uff1a<code>getActiveCount()<\/code>\uff08\u6d3b\u52a8\u7ebf\u7a0b\u6570\uff09\u3001<code>getQueue().size()<\/code>\uff08\u961f\u5217\u957f\uff09\u3001<code>getCompletedTaskCount()<\/code>\uff08\u5df2\u5b8c\u6210\u4efb\u52a1\u6570\uff09\u3002<\/li>\n\n\n\n<li><strong>JMX<\/strong>\uff1a\u901a\u8fc7Java Management Extensions\u76d1\u63a7MBean\u3002<\/li>\n\n\n\n<li><strong>\u65e5\u5fd7<\/strong>\uff1a\u5728\u4efb\u52a1\u5f00\u59cb\/\u7ed3\u675f\u5904\u6253\u65e5\u5fd7\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>432. \u641c\u7d22\u5f15\u64ce\u9879\u76ee &#8211; \u4e00\u4e2a\u7f51\u9875\u7684\u4fe1\u606f\u662f\u901a\u8fc7\u4ec0\u4e48\u5f62\u5f0f\u5b58\u50a8\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5<strong>\u5012\u6392\u7d22\u5f15<\/strong>\u548c<strong>\u6b63\u6392\u6570\u636e<\/strong>\u7ed3\u5408\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5012\u6392\u7d22\u5f15<\/strong>\uff1a\u8bcd\u9879 -> \u6587\u6863ID\u5217\u8868\uff08\u542b\u4f4d\u7f6e\u3001\u6743\u91cd\u7b49\uff09\uff0c\u7528\u4e8e\u5feb\u901f\u5b9a\u4f4d\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u6392\u6570\u636e<\/strong>\uff1a\u5b58\u50a8\u6bcf\u4e2a\u7f51\u9875\u7684\u539f\u59cb\u4fe1\u606f\uff08URL\u3001\u6807\u9898\u3001\u6458\u8981\u3001\u5185\u5bb9\u7b49\uff09\uff0c\u901a\u8fc7\u6587\u6863ID\u4e0e\u5012\u6392\u7d22\u5f15\u5173\u8054\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>433. Simhash\u662f\u4ec0\u4e48\uff0c\u600e\u4e48\u4f7f\u7528\u7684<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7528\u4e8e\u5feb\u901f\u8ba1\u7b97\u6587\u672c\u76f8\u4f3c\u5ea6\u7684\u5c40\u90e8\u654f\u611f\u54c8\u5e0c\u7b97\u6cd5\uff0c\u751f\u6210\u6587\u672c\u6307\u7eb9\u3002\u76f8\u4f3c\u6587\u672c\u7684Simhash\u503c\u6d77\u660e\u8ddd\u79bb\u5c0f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u6b65\u9aa4<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li>\u5206\u8bcd\uff0c\u8d4b\u6743\u91cd\uff08\u5982TF-IDF\uff09\u3002<\/li>\n\n\n\n<li>\u8ba1\u7b97\u6bcf\u4e2a\u8bcd\u7684\u4f20\u7edf\u54c8\u5e0c\uff08\u5982MD5\uff09\uff0c\u8f6c\u4e3a\u5b9a\u957f\u4e8c\u8fdb\u5236\u4e32\u3002<\/li>\n\n\n\n<li>\u52a0\u6743\u7d2f\u52a0\uff1a\u6743\u91cd\u4e3a\u6b63\uff0c\u54c8\u5e0c\u4f4d\u4e3a1\u52a0\u6743\u91cd\uff0c\u4e3a0\u51cf\u6743\u91cd\u3002<\/li>\n\n\n\n<li>\u751f\u6210\u6307\u7eb9\uff1a\u7d2f\u52a0\u7ed3\u679c\u6bcf\u4f4d>0\u7f6e1\uff0c\u5426\u5219\u7f6e0\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u5e94\u7528<\/strong>\uff1a<strong>\u53bb\u91cd<\/strong>\u3002\u8ba1\u7b97\u65b0\u7f51\u9875Simhash\uff0c\u4e0e\u5e93\u4e2d\u7f51\u9875\u8ba1\u7b97\u6d77\u660e\u8ddd\u79bb\uff0c\u5c0f\u4e8e\u9608\u503c\uff08\u59823\uff09\u5219\u8ba4\u4e3a\u91cd\u590d\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>434. \u4ecb\u7ecd\u4e00\u4e0b\u5012\u6392\u7d22\u5f15<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u641c\u7d22\u5f15\u64ce\u6838\u5fc3\u6570\u636e\u7ed3\u6784\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6b63\u6392\u7d22\u5f15<\/strong>\uff1a\u6587\u6863ID -> \u6587\u6863\u5185\u5bb9\uff08\u8bcd\u5217\u8868\uff09\u3002\u5982\u4e66\u76ee\u5f55\u3002<\/li>\n\n\n\n<li><strong>\u5012\u6392\u7d22\u5f15<\/strong>\uff1a\u8bcd\u9879 -> \u51fa\u73b0\u8be5\u8bcd\u7684\u6587\u6863ID\u5217\u8868\uff08\u5012\u6392\u5217\u8868\uff09\u3002\u5982\u4e66\u672b\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u5012\u6392\u5217\u8868<\/strong>\uff1a\u542b\u6587\u6863ID\u3001\u8bcd\u9891\u3001\u4f4d\u7f6e\u7b49\uff0c\u7528\u4e8e\u76f8\u5173\u6027\u6392\u5e8f\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u5feb\u901f\u54cd\u5e94\u5173\u952e\u8bcd\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>435. \u4f59\u5f26\u76f8\u4f3c\u7b97\u6cd5<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7528\u4e8e\u8ba1\u7b97\u4e24\u4e2a\u5411\u91cf\u7684\u5939\u89d2\u4f59\u5f26\u503c\uff0c\u8861\u91cf\u76f8\u4f3c\u5ea6\u3002\u5728\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u5c06\u67e5\u8be2\u548c\u6587\u6863\u8868\u793a\u4e3a\u5411\u91cf\uff08\u5982TF-IDF\u6743\u91cd\uff09\uff0c\u8ba1\u7b97\u4f59\u5f26\u76f8\u4f3c\u5ea6\u8fdb\u884c\u6392\u5e8f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u516c\u5f0f<\/strong>\uff1acos\u03b8 = (A\u00b7B) \/ (||A|| * ||B||)\u3002\u503c\u8d8a\u8fd11\u8d8a\u76f8\u4f3c\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>436. \u4efb\u52a1\u961f\u5217\u662f\u600e\u4e48\u5b9e\u73b0\u7684\uff0c\u963b\u585e\u8fd8\u662f\u975e\u963b\u585e<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9e\u73b0<\/strong>\uff1a\u901a\u5e38\u4f7f\u7528<strong>\u963b\u585e\u961f\u5217<\/strong>\uff08\u5982<code>LinkedBlockingQueue<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>\u963b\u585e vs \u975e\u963b\u585e<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u963b\u585e<\/strong>\uff1a\u961f\u5217\u7a7a\u65f6\u6d88\u8d39\u8005\u963b\u585e\uff0c\u961f\u5217\u6ee1\u65f6\u751f\u4ea7\u8005\u963b\u585e\u3002\u80fd\u534f\u8c03\u901f\u5ea6\uff0c\u907f\u514dCPU\u7a7a\u8f6c\u3002<\/li>\n\n\n\n<li><strong>\u975e\u963b\u585e<\/strong>\uff1a\u64cd\u4f5c\u5931\u8d25\u76f4\u63a5\u8fd4\u56de\uff0c\u9700\u81ea\u65cb\u91cd\u8bd5\uff0c\u66f4\u590d\u6742\u3002<\/li>\n\n\n\n<li>\u4efb\u52a1\u961f\u5217\u573a\u666f\u4e0b\uff0c<strong>\u963b\u585e\u961f\u5217\u66f4\u5e38\u89c1\u3001\u7b80\u5355<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>437. \u8d1f\u8f7d\u5747\u8861\u600e\u4e48\u505a\u7684<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DNS\u8d1f\u8f7d\u5747\u8861<\/strong>\uff1a\u4e00\u4e2a\u57df\u540d\u89e3\u6790\u5230\u591a\u4e2aIP\u3002<\/li>\n\n\n\n<li><strong>\u786c\u4ef6\u8d1f\u8f7d\u5747\u8861<\/strong>\uff1a\u4f7f\u7528\u4e13\u7528\u8bbe\u5907\uff08\u5982F5\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8f6f\u4ef6\u8d1f\u8f7d\u5747\u8861<\/strong>\uff1a\u4f7f\u7528Nginx\u3001LVS\u7b49\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u7b97\u6cd5<\/strong>\uff1a\u8f6e\u8be2\u3001\u52a0\u6743\u8f6e\u8be2\u3001\u6700\u5c11\u8fde\u63a5\u3001IP\u54c8\u5e0c\u7b49\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5c42<\/strong>\uff1a\u4f7f\u7528\u670d\u52a1\u53d1\u73b0\u548c\u5ba2\u6237\u7aef\u8d1f\u8f7d\u5747\u8861\uff08\u5982Ribbon\u3001Dubbo\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>438. \u4ec0\u4e48\u662f\u6700\u77ed\u7f16\u8f91\u8ddd\u79bb<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e24\u4e2a\u5b57\u7b26\u4e32\u4e4b\u95f4\uff0c\u7531\u4e00\u4e2a\u8f6c\u6362\u6210\u53e6\u4e00\u4e2a\u6240\u9700\u7684\u6700\u5c11\u7f16\u8f91\u64cd\u4f5c\u6b21\u6570\u3002\u5141\u8bb8\u64cd\u4f5c\uff1a\u63d2\u5165\u3001\u5220\u9664\u3001\u66ff\u6362\u4e00\u4e2a\u5b57\u7b26\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5e94\u7528<\/strong>\uff1a\u62fc\u5199\u68c0\u67e5\u3001\u6a21\u7cca\u67e5\u8be2\u3001DNA\u5e8f\u5217\u6bd4\u5bf9\u3002<\/li>\n\n\n\n<li><strong>\u7b97\u6cd5<\/strong>\uff1a\u52a8\u6001\u89c4\u5212\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>439. \u53cc\u7f13\u5b58\u8f6e\u6362\u662f\u600e\u4e48\u505a\u7684\uff0c\u4e3a\u4ec0\u4e48\u4e0d\u4f7f\u7528\u5355\u7f13\u5b58\u52a0\u9501<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u505a\u6cd5<\/strong>\uff1a\u7ef4\u62a4\u4e24\u4e2a\u7f13\u5b58\u5b9e\u4f8b\uff08CacheA, CacheB\uff09\u3002\u540e\u53f0\u7ebf\u7a0b\u5b9a\u65f6\u66f4\u65b0\u5176\u4e2d\u4e00\u4e2a\uff08\u5982CacheB\uff09\u3002\u66f4\u65b0\u671f\u95f4\u8bfb\u8bf7\u6c42\u8bbf\u95ee\u65e7\u7f13\u5b58\uff08CacheA\uff09\u3002\u66f4\u65b0\u5b8c\u6210\u540e\u539f\u5b50\u5207\u6362\u8bfb\u8bf7\u6c42\u5230\u65b0\u7f13\u5b58\uff08CacheB\uff09\u3002\u7136\u540e\u66f4\u65b0CacheA\uff0c\u5faa\u73af\u3002<\/li>\n\n\n\n<li><strong>vs \u5355\u7f13\u5b58\u52a0\u9501<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u53cc\u7f13\u5b58<\/strong>\uff1a\u8bfb\u64cd\u4f5c<strong>\u57fa\u672c\u65e0\u9501<\/strong>\uff0c\u6027\u80fd\u6781\u9ad8\u3002<\/li>\n\n\n\n<li><strong>\u5355\u7f13\u5b58\u52a0\u9501<\/strong>\uff1a\u66f4\u65b0\u7f13\u5b58\u9700\u52a0\u5199\u9501\uff0c\u963b\u585e\u6240\u6709\u8bfb\u8bf7\u6c42\uff0c\u541e\u5410\u91cf\u4e0b\u964d\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>440. LRU\u7b97\u6cd5\u7684\u539f\u7406\uff0c\u4e3a\u4ec0\u4e48\u4f7f\u7528LRU\u7b97\u6cd5\uff0c\u8fd8\u53ef\u4ee5\u9009\u7528\u4ec0\u4e48\u7b97\u6cd5<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u7406<\/strong>\uff1a\u8ba4\u4e3a\u6700\u8fd1\u4f7f\u7528\u7684\u6570\u636e\u5c06\u6765\u6982\u7387\u66f4\u9ad8\u3002\u5b9e\u73b0\uff1a\u54c8\u5e0c\u8868+\u53cc\u5411\u94fe\u8868\u3002\u8bbf\u95ee\u6570\u636e\u65f6\u79fb\u5230\u94fe\u8868\u5934\u3002\u6dd8\u6c70\u6570\u636e\u65f6\u6dd8\u6c70\u94fe\u8868\u5c3e\u3002<\/li>\n\n\n\n<li><strong>\u4e3a\u4ec0\u4e48\u4f7f\u7528<\/strong>\uff1a\u5b9e\u73b0\u76f8\u5bf9\u7b80\u5355\uff0c\u80fd\u8f83\u597d\u53cd\u6620\u8bbf\u95ee\u5c40\u90e8\u6027\u3002<\/li>\n\n\n\n<li><strong>\u5176\u4ed6\u7b97\u6cd5<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>LFU<\/strong>\uff1a\u6700\u4e0d\u7ecf\u5e38\u4f7f\u7528\u3002\u53ef\u80fd\u65e0\u6cd5\u53cd\u5e94\u8fd1\u671f\u70ed\u70b9\u3002<\/li>\n\n\n\n<li><strong>FIFO<\/strong>\uff1a\u5148\u8fdb\u5148\u51fa\u3002\u7b80\u5355\u4f46\u6548\u679c\u901a\u5e38\u4e0d\u5982LRU\u3002<\/li>\n\n\n\n<li><strong>Random<\/strong>\uff1a\u968f\u673a\u6dd8\u6c70\u3002\u7b80\u5355\u4f46\u4e0d\u53ef\u9884\u6d4b\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>441. \u7f13\u5b58\u548c\u6570\u636e\u5e93\u662f\u5982\u4f55\u5b9e\u73b0\u540c\u6b65\u64cd\u4f5c<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u7b2c406\u9898\u3002\u5e38\u7528<strong>Cache Aside Pattern<\/strong>\uff1a\u66f4\u65b0\u6570\u636e\u5e93\u540e\u5220\u9664\u7f13\u5b58\u3002\u914d\u5408\u91cd\u8bd5\u3001\u8fc7\u671f\u65f6\u95f4\u7b49\u624b\u6bb5\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>442. \u9879\u76ee\u5f53\u4e2d\u7684\u4efb\u52a1\u961f\u5217\u5177\u4f53\u4f1a\u6709\u54ea\u4e9b\u4efb\u52a1<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6839\u636e\u9879\u76ee\u7c7b\u578b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u722c\u866b\u9879\u76ee<\/strong>\uff1aURL\u6293\u53d6\u3001\u9875\u9762\u89e3\u6790\u3001\u6570\u636e\u5b58\u50a8\u4efb\u52a1\u3002<\/li>\n\n\n\n<li><strong>\u7f51\u76d8\u9879\u76ee<\/strong>\uff1a\u751f\u6210\u7f29\u7565\u56fe\u3001\u75c5\u6bd2\u626b\u63cf\u3001\u6587\u4ef6\u8f6c\u7801\u3001\u53d1\u9001\u901a\u77e5\u3002<\/li>\n\n\n\n<li><strong>\u7535\u5546\u9879\u76ee<\/strong>\uff1a\u53d6\u6d88\u8d85\u65f6\u8ba2\u5355\u3001\u540c\u6b65\u5e93\u5b58\u3001\u4f18\u60e0\u5238\u8fc7\u671f\u3001\u751f\u6210\u62a5\u8868\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>443. \u641c\u7d22\u5f15\u64ce\u9879\u76ee\u7528\u4e86\u51e0\u4e2a\u8fdb\u7a0b\u51e0\u4e2a\u7ebf\u7a0b\u6c60<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u793a\u4f8b\u67b6\u6784<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8fdb\u7a0b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u722c\u866b\u8fdb\u7a0b\uff08\u6293\u53d6\u7f51\u9875\uff09\u3002<\/li>\n\n\n\n<li>\u7d22\u5f15\u6784\u5efa\u8fdb\u7a0b\uff08\u89e3\u6790\u7f51\u9875\u3001\u5efa\u5012\u6392\u7d22\u5f15\uff09\u3002<\/li>\n\n\n\n<li>\u641c\u7d22\u670d\u52a1\u8fdb\u7a0b\uff08\u63a5\u6536\u67e5\u8be2\u3001\u8fd4\u56de\u7ed3\u679c\uff09\u3002<\/li>\n\n\n\n<li>\u7ba1\u7406\/\u76d1\u63a7\u8fdb\u7a0b\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7ebf\u7a0b\u6c60<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u722c\u866b\u8fdb\u7a0b\uff1a\u7f51\u7edcI\/O\u7ebf\u7a0b\u6c60\u3001\u9875\u9762\u89e3\u6790\u7ebf\u7a0b\u6c60\u3002<\/li>\n\n\n\n<li>\u641c\u7d22\u670d\u52a1\u8fdb\u7a0b\uff1a\u7f51\u7edc\u8bf7\u6c42\u5904\u7406\u7ebf\u7a0b\u6c60\u3001\u641c\u7d22\u8ba1\u7b97\u7ebf\u7a0b\u6c60\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>444. http\u9879\u76ee &#8211; \u4ecb\u7ecd\u4e0b\u8fd9\u4e2aworkflow\u7f16\u7a0b\u8303\u5f0f\u662f\u4ec0\u4e48\uff0c\u600e\u4e48\u7528\u7684\uff0c\u4ee5\u53ca\u8fd9\u4e2a\u6846\u67b6\u80fd\u5bf9\u9879\u76ee\u8d77\u5230\u4ec0\u4e48\u4f5c\u7528<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8303\u5f0f\/\u6846\u67b6\u4ecb\u7ecd<\/strong>\uff1a\u4e00\u79cd<strong>\u5f02\u6b65\u3001\u57fa\u4e8e\u4efb\u52a1<\/strong>\u7684\u7f16\u7a0b\u8303\u5f0f\u3002\u5c06\u590d\u6742\u4e1a\u52a1\u903b\u8f91\u62c6\u89e3\u6210\u72ec\u7acb\u3001\u53ef\u590d\u7528\u7684\u4efb\u52a1\uff08Task\uff09\uff0c\u901a\u8fc7\u4f9d\u8d56\u5173\u7cfb\u7ec4\u88c5\u6210\u5de5\u4f5c\u6d41\uff08Workflow\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5982\u4f55\u4f7f\u7528<\/strong>\uff1a\u5b9a\u4e49\u4efb\u52a1\u903b\u8f91\u548c\u4f9d\u8d56\uff0c\u7531\u6846\u67b6\u8c03\u5ea6\u5668\u5f02\u6b65\u3001\u9ad8\u6548\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\n<ol class=\"wp-block-list\">\n<li><strong>\u9ad8\u5e76\u53d1<\/strong>\uff1a\u5f02\u6b65\u975e\u963b\u585e\uff0c\u63d0\u9ad8\u541e\u5410\u91cf\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u7ef4\u62a4\u6027<\/strong>\uff1a\u903b\u8f91\u6e05\u6670\uff0c\u6613\u4e8e\u6d4b\u8bd5\u3002<\/li>\n\n\n\n<li><strong>\u590d\u7528\u6027<\/strong>\uff1a\u4efb\u52a1\u53ef\u88ab\u591a\u4e2a\u5de5\u4f5c\u6d41\u590d\u7528\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u6269\u5c55\u6027<\/strong>\uff1a\u65b9\u4fbf\u589e\u6539\u4efb\u52a1\u6d41\u7a0b\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>445. \u6709\u6ca1\u6709\u7528\u4ec0\u4e48\u4e8c\u8fdb\u5236\u901a\u4fe1\u534f\u8bae<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u9ad8\u6027\u80fdC++\u540e\u7aef\u4e2d\uff0c\u5e38\u4f7f\u7528\u4e8c\u8fdb\u5236\u534f\u8bae\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Protocol Buffers<\/strong>\uff1aGoogle\u51fa\u54c1\uff0c\u9ad8\u6548\uff0c\u8bed\u8a00\u4e2d\u7acb\u3002<\/li>\n\n\n\n<li><strong>Thrift<\/strong>\uff1aApache\u51fa\u54c1\uff0c\u529f\u80fd\u5f3a\u5927\uff0c\u542b\u5b8c\u6574RPC\u6846\u67b6\u3002<\/li>\n\n\n\n<li><strong>MessagePack<\/strong>\uff1a\u7c7b\u4f3cJSON\uff0c\u4f46\u4e3a\u4e8c\u8fdb\u5236\u3002<\/li>\n\n\n\n<li><strong>\u81ea\u5b9a\u4e49\u534f\u8bae<\/strong>\uff1a\u6839\u636e\u4e1a\u52a1\u8bbe\u8ba1\uff0c\u901a\u5e38\u542b\u5b9a\u957f\u6d88\u606f\u5934\u548c\u53d8\u957f\u6d88\u606f\u4f53\u3002<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>C\/C++ 1. \u63cf\u8ff0C++\u7a0b\u5e8f\u7684\u5185\u5b58\u7531\u54ea\u51e0\u90e8\u5206\u7ec4\u6210\uff0c\u6bcf\u4e2a\u533a\u57df\u5206\u522b\u6709\u4ec0\u4e48\u4f5c\u7528\u548c\u7279\u70b9 \u7b54\u6848\uff1a C++\u7a0b\u5e8f\u7684\u5185\u5b58\u5e03 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":340,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-339","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-finance"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/posts\/339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/comments?post=339"}],"version-history":[{"count":0,"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/posts\/339\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/media\/340"}],"wp:attachment":[{"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/media?parent=339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/categories?post=339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cqfdreamgarden.art\/index.php\/wp-json\/wp\/v2\/tags?post=339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}