SORU
23 HAZİRAN 2009, Salı


Std geri getirebilirim::dizeleri?

Mümkün olduğunda std::string yerine char* kullanmaya çalışıyorum, ama performansı çok fazla olabilir endişeleniyorum. Bu dizeler (kısalık için, hata denetimi) dönen iyi bir yol var mı?

std::string linux_settings_provider::get_home_folder() {
    return std::string(getenv("HOME"));
}

Ayrıca, ilgili bir soru: parametre olarak dizeleri kabul edilirken, İ const std::string& const char* olarak onları almak gerekir?

Teşekkürler.

CEVAP
23 HAZİRAN 2009, Salı


Dize döndürür.

Daha iyi soyutlama buna değer olduğunu düşünüyorum. Anlamlı bir performans farkı ölçebilirsiniz kadar, sadece senin hayalinde var olan mikro-optimizasyon olduğunu iddia ediyorum.

C iyi bir dize soyutlama almak için uzun yıllar aldı . Bu Stroustroup, "kullandığınız kadar öde" özdeyişi, dile bariz bir performans katil izin vermezdi. sadece onun muhafazakar için çok ünlü Bjarne inanmıyorum Yüksek soyutlama iyidir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • IGN

    IGN

    19 EYLÜL 2006
  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011