Rumah  >  Soal Jawab  >  teks badan

c++ - Bagaimana untuk menyimpan pembolehubah global?

Pertama sekali, izinkan saya bertanya soalan
Dikatakan dalam buku dan dalam talian bahawa selepas menambah statik pada pembolehubah, skop adalah fail semasa, dan tanpa menambah skop, ia adalah keseluruhan projek
Adakah ini bermakna pembolehubah dengan tambahan statik hanya boleh digunakan dalam fail ini?

Saya menggunakan fail untuk menyimpan pembolehubah global Saya perlu menggunakan pembolehubah global ini di beberapa tempat Menurut buku itu, ia tidak boleh statik, tetapi ia akan muncul

错误    LNK2005    1    "XXX" (XXX) 已经在 XXX 

Saya menambah statik dan tiada masalah

Saya menggunakan VS2017

Sila jelaskan masalah ini, bolehkah saya menggunakan kaedah ini untuk menyimpan situasi global?

怪我咯怪我咯2635 hari yang lalu1253

membalas semua(1)saya akan balas

  • 三叔

    三叔2017-07-03 11:44:03

    Adakah ini bermakna pembolehubah yang ditambah dengan statik hanya boleh digunakan dalam fail ini? Ya.

    Anda boleh menggunakan pembolehubah global mengikut cara yang anda mahukan dalam kod biasa, tetapi dalam projek sebenar, pembolehubah global boleh digunakan selagi anda boleh, ingat ini. Jadi pendekatan anda untuk "meletakkan semua pembolehubah global dalam satu fail" tidak digalakkan.

    Laporan ralat anda sepatutnya disebabkan oleh definisi semula Pembolehubah global ditakrifkan semula semasa proses pautan obj, kerana pembolehubah global ialah atribut pautan luaran, yang boleh dilihat oleh semua fail.

    Fail mana yang memerlukan pembolehubah ini, anda boleh menjadikannya statik Jika fail lain memerlukan nilai pembolehubah ini, anda boleh meletakkan pembolehubah ini ke dalam kelas untuk menjadikannya pembolehubah ahli statik kelas, dan kemudian masukkan fail secara langsung, A:: x rujukan Itu sahaja.

    balas
    0
  • Batalbalas