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

  • Adam Outler

    Adam Outler

    19 EKİM 2006
  • michaeljacksonVEVO

    michaeljacks

    2 EYLÜL 2009
  • Rootjunky.com

    Rootjunky.co

    22 EKİM 2011