The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Спецификация C++0X принята в качестве международного стандар..., opennews (ok), 14-Авг-11, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


44. "Спецификация C++0X принята в качестве международного стандар..."  –1 +/
Сообщение от pavlinux (ok), 15-Авг-11, 05:00 
> cout << x << (2 shl *y) << endl.

Вставил цитирование "язык стал проще для изучения и освоения новичками. "

Мне надо:

x << (2 << *y)

1) 2 сдвинуть на то, что находиться по адреcу *y.
2) x сдвинуть на то, что получилось в предыдущем выражении.
3) вывести на консоль.  
4) добавить конец строки.

в С++ нет оператора shl.

Ответить | Правка | Наверх | Cообщить модератору

74. "Спецификация C++0X принята в качестве международного стандар..."  +/
Сообщение от ананим (?), 15-Авг-11, 12:32 
можно подумать в других проще.
вот так лучше что ли будет?
>{
>    char hex[] = { '0', '1, '2', '3', '4', '5', '6',
>        '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f };
>    byte b = (byte) 0xf1;                        
>    System.out.println("b = 0x" + hex[(b >> 4) & 0x0f] + hex[b & 0x0f]);
>  }

http://khpi-iip.mipk.kharkiv.edu/library/oop/kart/05.html
офигенно понятно для новичка. что доказывает:
- что чтение доки лишним никогда не бывает;
- предметную область знать нужно;
- и не стоит писать плохо понятный код (где из твоего кода понятно что y не класс к примеру с переопределенным оператором?) в одну строчку, даже если С++ это позволяет (для кого инлаййн придумали? да даже макросы?)

Ответить | Правка | Наверх | Cообщить модератору

108. "Спецификация C++0X принята в качестве международного стандар..."  +4 +/
Сообщение от inv (ok), 15-Авг-11, 16:42 
А если в алгебраическом выражении скобки забудешь, математика тоже станет "сложной и неудобной"?
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

126. "Спецификация C++0X принята в качестве международного стандар..."  +/
Сообщение от Аноним (-), 15-Авг-11, 20:51 
> 1) 2 сдвинуть на то, что находиться по адреcу *y.
> 2) x сдвинуть на то, что получилось в предыдущем выражении.
> 3) вывести на консоль.
> 4) добавить конец строки.

Вы вообще не знаете языка, я правильно понял?

std::cout << (x << (2 << *y)) << std::endl;

> в С++ нет оператора shl

Вы сами первый его написали. Отвечающие любезно продолжили его использовать чтобы вам было понятнее.

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

129. "Спецификация C++0X принята в качестве международного стандар..."  +/
Сообщение от pavlinux (ok), 15-Авг-11, 23:16 
> std::cout << (x << (2 << *y)) << std::endl;

Вот позовите к экрану блондинку изучавшую в универе только Паскаль,
и попросите объяснить написанное.

Так же добавьте, что сама конструкция с "<<", работает по разному,
в зависимости от операнда.


#define x (x << (2 << *y))

      // где-то через строчек 200  
      std::cout << x << std::endl;

// и ещё через 200
#undef x

      // а потом
       std::cout << x << std::endl;

// и в конце
#endif
...

У неё моск раком встанет. И правильно сделает, потому что двоякая
интерпретация это не есть хорошо.

Та же фигня с операцией ","

   int x = -5;
   int y = 3;
   int z = -7;

Чему будет равно z

при
   z = (x, y);
при
   z = x,y;
при
   z = !x,!y;
при
   z = (!x,!y);

---

Уже вижу, как Вы, стоят у доски в качестве преподавателя, ловите
бурные овации с потоком тухлых помидоров.

Ответить | Правка | Наверх | Cообщить модератору

140. "Спецификация C++0X принята в качестве международного стандар..."  +/
Сообщение от Аноним (-), 16-Авг-11, 16:13 
Я порадуюсь, если у нее мозг раком встанет. Ибо блондинок не надо.
Пущай лучше она пишет ..в твиттер, например. :)

Ответить | Правка | Наверх | Cообщить модератору

158. "Спецификация C++0X принята в качестве международного стандар..."  +/
Сообщение от Аноним (157), 19-Авг-14, 16:43 
> Я порадуюсь, если у нее мозг раком встанет. Ибо блондинок не надо.
> Пущай лучше она пишет ..в твиттер, например. :)

К Сожалению C++ появился тогда когда люди решали не только проблему какой сделать синтаксис, но и проблему "сколько символов для реализации задачи понадобится" поэтому так и вышло, 90% кода который попадается не на c++ читается нормально, c++ постоянно ловишь себя на мысли что приходиться задумываться "что же в этом месте происходит".

Ответить | Правка | Наверх | Cообщить модератору

160. "Спецификация C++0X принята в качестве международного..."  +/
Сообщение от arisu (ok), 20-Авг-14, 05:05 
> К Сожалению C++ появился тогда когда люди решали не только проблему какой
> сделать синтаксис, но и проблему "сколько символов для реализации задачи понадобится"

ты спутал его с C.

Ответить | Правка | Наверх | Cообщить модератору

161. "Спецификация C++0X принята в качестве международного..."  +/
Сообщение от Аноним (157), 20-Авг-14, 10:12 
>> К Сожалению C++ появился тогда когда люди решали не только проблему какой
>> сделать синтаксис, но и проблему "сколько символов для реализации задачи понадобится"
> ты спутал его с C.

ну т.к. с++ возник как дополнение к c это не сильно принципиально, но в начале 80-х тема объёма исходников ещё была актуально, в середине 90-х уже нет.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру