Rumah > pembangunan bahagian belakang > C++ > Adakah Pembolehubah thread_local Statik Tersirat dalam Skop Blok?

Adakah Pembolehubah thread_local Statik Tersirat dalam Skop Blok?

Susan Sarandon
Lepaskan: 2024-11-02 03:35:02
asal
482 orang telah melayarinya

Are thread_local Variables Implicitly Static in Block Scope?

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan