2016-06-15 25 views
16

Belirtilen işlevlerin ne yaptığını anlıyorum, ancak isimlerinin nasıl oluşturulduğunu tahmin edemiyorum, ancak son harf dönüş türündendir.atoi, atol ve stoi ne anlama geliyor?

+4

int vs ascii –

+1

Programcılar tembeldi, ve onların functonları için kısa isim istediler, bu yüzden bunları bir klavye ile yazmak daha hızlıydı. 4 harf oldukça yeterliydi, hatta çok uzun düşünülmüştü, ama yine de, onları değiştirmek için çok tembel olmalarını sağladılar. –

+0

** a ** rray to ** i ** nt –

cevap

28
atoi -> ASCII to integer. 
atol -> ASCII to long. 
atof -> ASCII to floating. 
stoi -> string to integer. 
stol -> string to long. 
stoll -> string to long long. 
stof -> string to float. 
stod -> string to double. 
stold -> string to long double. 

atoi, atol, atofC gelir ve onun büyük olasılıkla UNIX işletim sisteminin yaratıcılarından ve C programlama dilinin öncülü olan B programming language yaratıcısı Ken Thompson olarak kabul edilir vaftiz. adları ilk UNIX Programmer's Manual November 3, 1971 yer verilir ve sahibinin etiketi görebileceğiniz gibi ken Ken Thomson takma olan söz edilir:

enter image description here

enter image description here

stoi, stolstoll, stof, stod ve stold, C++ 'dan C++ 11' e sahiptir. Sonuç olarak, adlandırma C++ komitesinin oybirliği ile alınmış olması gerekir. Orijinal teklif N1803, ancak yine de 2005'te uzanmaktadır. Bu isimlerden sonra isimleri bu isme göre isimlendiremedim. Tahminimce, muhtemelen tekdüzeliği yukarıda bahsedilen C "eşdeğerleri" ile korumak istediler.

+3

İlginç olan şu ki, bu fonksiyonlar EBCDIC karakter tabloları için eşit derecede iyi çalışır. –

+2

11/3/71 - vay. Bu kitabı gerçek hayatta var mı? –

+0

@JaredBurrows O zamanlar babamın zihninde bir kavram olarak bile düşünülmemiştim. – 101010