Adakah Pembolehubah Diisytiharkan dengan thread_local Secara Automatik Statik?
Segmen kod berikut kelihatan sama sepintas lalu:
<code class="cpp">void f() { thread_local vector<int> V; // ... } void f() { static thread_local vector<int> V; // ... }</code>
Walau bagaimanapun, Piawaian C mendedahkan perbezaan yang ketara. Apabila mentakrifkan pembolehubah thread_local dengan skop blok, penentu kelas storan statik tersirat jika tidak dinyatakan secara eksplisit. Ini bermakna bahawa segmen kod pertama adalah bersamaan dengan yang kedua.
Walaupun takrifan mereka serupa, pembolehubah statik dan thread_local berbeza dengan ketara. Pembolehubah dengan tempoh storan statik dikaitkan dengan keseluruhan program, manakala pembolehubah thread_local dikaitkan dengan urutan individu. Setiap urutan mempunyai objek atau rujukan tersendiri yang dikaitkan dengan pembolehubah thread_local.
Atas ialah kandungan terperinci Adakah Pembolehubah thread_local Statik Tersirat dalam Skop Blok?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!