Pytania oznaczone «strings»

„Ciąg” to sekwencja znaków zwykle reprezentująca jednostkę tekstu czytelnego dla człowieka. Pytania na ten temat dotyczą przetwarzania łańcuchów w programach oraz tego, jak różne języki i środowiska definiują łańcuchy i manipulują nimi.

88
Dlaczego% s jest lepszy od + do konkatenacji?

Rozumiem, że powinniśmy używać %sdo konkatenacji łańcucha zamiast +w Pythonie. Mógłbym wykonać dowolną z następujących czynności: hello = "hello" world = "world" print hello + " " + world print "%s %s" % (hello, world) print "{} {}".format(hello, world) print ' '.join([hello, world]) Ale...

72
SQL: pusty ciąg vs NULL

Wiem, że ten temat jest nieco kontrowersyjny i po Internecie płynie wiele różnych artykułów / opinii. Niestety większość z nich zakłada, że ​​osoba nie wie, jaka jest różnica między NULL a pustym ciągiem. Opowiadają więc historie o zaskakujących wynikach z łączeniami / agregacjami i generalnie...

58
Etymologia „struny”

Jest więc oczywiste, że ciąg rzeczy jest sekwencją rzeczy, a więc sekwencją znaków / bajtów / itp. równie dobrze można nazwać ciągiem. Ale kto pierwszy nazwał je łańcuchami? I kiedy? I w takim kontekście, że utknął w pobliżu? Zawsze się nad tym

39
Ciągi kodujące na stałe, które nigdy się nie zmienią

Tak więc, starając się napisać program do koniugacji czasowników (algorytmicznie, nie poprzez zbiór danych) dla języka francuskiego, natknąłem się na niewielki problem. Algorytm koniugacji czasowników jest właściwie dość prosty w przypadku 17 lub więcej przypadków czasowników i działa według...

37
C ++ 11 zawiera std :: stoję, dlaczego nie std :: itos?

Z radością zauważyłem, że C ++ 11 ma std::sto@rodzinę funkcji do łatwego rozpakowywania ints / floats / longs cokolwiek z ciągów. Dziwi mnie jednak fakt, że przeciwieństwo nie zostało wdrożone. Dlaczego komitet normalizacyjny nie zawiera std::itosrodziny funkcji do przechodzenia od ints / floats /...

29
Dlaczego literały łańcuchowe C są tylko do odczytu?

Jakie zalety literałów łańcuchowych jako tylko do odczytu uzasadniają (-ies / -ied): To kolejny sposób na zastrzelenie się w stopę char *foo = "bar"; foo[0] = 'd'; /* SEGFAULT */ Niemożność eleganckiego zainicjowania tablicy słów do odczytu i zapisu w jednym wierszu: char *foo[] = { "bar",...

23
Dlaczego ciągi są tak wolne?

Od czasu mojej pierwszej klasy programowania w liceum słyszałem, że operacje na sznurkach są wolniejsze - tj. Droższe - niż mityczna „średnia operacja”. Dlaczego sprawia, że ​​są tak wolne? (To pytanie pozostawiono celowo

18
W jaki sposób PHP wewnętrznie reprezentuje łańcuchy?

UTF8? UTF16? Czy łańcuchy w PHP śledzą również używane kodowanie? Spójrzmy na przykład na ten skrypt. Powiedz, że biegnę: $original = "शक्नोम्यत्तुम्"; Co się właściwie dzieje? Oczywiście myślę, że $originalnie będzie zawierać tylko 7 znaków. Te glify muszą być reprezentowane przez kilka...

16
Kiedy powinienem używać string_view w interfejsie?

Korzystam z biblioteki wewnętrznej, która została zaprojektowana tak, aby naśladować proponowaną bibliotekę C ++ , a czasami w ciągu ostatnich kilku lat widzę, że jej interfejs zmienił się z używania std::stringna string_view. Dlatego sumiennie zmieniam kod, aby dostosować się do nowego...