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

  • inovationgmbh

    inovationgmb

    28 EYLÜL 2010
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006