avva: (Default)
[personal profile] avva
Будет интересно только программистам, знакомым с C++.

Кроме обычных вещей, которых мне не хватает, когда я пишу на C++ (ну, типа, защитного шлема, чтоб биться головой об стенку было не так больно) мне очень не хватает метода std::string, который был бы точной противоположностью empty(). Потому что писать в двухтысячный раз if (!сепулька.empty()) подзадолбало, если честно. Ведь дело не в том, что этот ! - лишний знак на экране, а в том, что это пусть крохотный, но каждый раз дополнительный логический прыжок в голове.

Любопытно: я, конечно, понимаю, что можно написать if(сепулька.size()) и это будет правильно работать, но что-то мне не позволяет так писать - видимо, ощущение того, что это слишком C-шная идиома. Ну а написать if(сепулька.size() > 0) - это уже выйдет лекарство хуже болезни.

Нет, хочется именно метода, возвращающего bool и в точности обратного empty(). Но вот незадача - размышляя об этом, я осознал, что не понимаю даже, как он должен называться. Не назвать же его, в самом деле, full(). Понятно, что nonempty() - это опять-таки схоластика. А что тогда? Кажется, тут не только в стандарте C++, тут в языке налицо определенная дырка.

Date: 2008-03-30 09:55 pm (UTC)
From: [identity profile] raindog-2.livejournal.com
То, что вы написали - справедливо для множеств. Но string - это не множество, по крайней мере, в C++. String - это объект. Такой, как, например, коробок спичек. Он может быть пустым.

Слова непустой в нормальном русском языке нет, действительно. "Если не" - на русском и большинстве других языков - это два слова.
В отличие от русского, английском есть слово unless, практически равноправное слову if.

В-общем, Perl rules.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 09:17 am
Powered by Dreamwidth Studios