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

  • apenney888

    apenney888

    27 EKİM 2010
  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • TheDailyTechDose

    TheDailyTech

    15 EKİM 2012