Здравствуйте, eskimo82, Вы писали:
E>>>Стандарты разные бывают. Ко всему прочему есть де-факто стандарты.
C>>Вот в С11 их взяли из С++.
E>C11 когда приняли ? а когда появились всякие __sync_fetch_and_sub ?
И что дальше-то?
E>>>Много чего. Возврат структурных типов из функций, например.
C>>Не позорься, а?
E>Да это ты не позорься, если не знал.
struct test_t
{
int a, b;
};
test_t testit()
{
return {1, 2};
}
int main()
{
test_t res = testit();
printf("%d %d\n", res.a, res.b);
}
Всё ОК.
C>>C>>- пусто -
C>>
E>Не в состоянии составить список ?
Нет, это полный список.
C>>>>Можно пример?
E>>>E>>>public class AAA {
E>>> public void selectAll(boolean tag) {
E>>> for (Node node: nodes.values()) {
E>>> node.select = tag;
E>>> }
E>>> }
E>>> public void addNode(String id, Node node) {
E>>> nodes.put(id, node);
E>>> }
E>>> IdentityHashMap<String, Node> nodes = new IdentityHashMap();
E>>>};
E>>>
C>>И всё. Тем более, что такая ошибка — это вообще из стиля "ну вот я тут забыл написать весь код и оно ничего не работает".
E>Дело в том, что в C++ такую ошибку допустить в принципе нельзя.
Да ну?
class AAA
{
IdentityHashMap *nodes;
AAA()
{
//Whoopsie
}
};
Про всякие int'ы вообще молчу.
C>>В отличие от С, в Java доступны нетривиальные in-place конструкторы.
E>Мне абсолютно побоку на "нетривиальные in-place конструкторы", я на них не надрачиваю.
Только что подрочил уже.
C>>Работает плохо, и разбухивает код. Не говоря уж о сплошных ODR-нарушениях при попытках оптимизировать.
E>МММ, щас ты меня будеш лечить что templates в C++ не разбухивают код ? Угомонись уже, код оптимизируется очень хорошо.
Не разбухивают, по сравнению с макросами.