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

  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012
  • steven johns

    steven johns

    11 Mart 2011
  • Tahir Jahi

    Tahir Jahi

    6 Mart 2006