Re[10]: семантика switch/case
От: Vain Россия google.ru
Дата: 08.01.16 12:09
Оценка:
Здравствуйте, ononim, Вы писали:

__>>безусловно, но использовать более одного return — это моветон

O>Это многое объясняет Впрочем возможно для С это действительно не комильфо, но тут... та-да! на сцену на белом ишаке выезжает С++ с RAII наперевес
забыл, что ишак теперь тоже белый конь с сообщениями вида "not reachable code" (after return).
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[9]: семантика switch/case
От: enji  
Дата: 10.01.16 14:12
Оценка: 6 (1)
Здравствуйте, Sheridan, Вы писали:

S>А обвязка? Ну, БП, интерфейсы. К компу надо ж подключить....


там встроенный адаптер usb-usart, оттуда же оно и питается. Можно подключить к компу usb-шнурком и заливать проги / общаться по com-порту

Можно отдельный БП сделать из какой-нить телефонной зарядки. Плат расширений много на любой вкус — реле, ethernet, радио, движки.
Re[10]: семантика switch/case
От: Sheridan Россия  
Дата: 10.01.16 14:30
Оценка:
Здравствуйте, enji, Вы писали:

S>>А обвязка? Ну, БП, интерфейсы. К компу надо ж подключить....

E>там встроенный адаптер usb-usart, оттуда же оно и питается. Можно подключить к компу usb-шнурком и заливать проги / общаться по com-порту
E>Можно отдельный БП сделать из какой-нить телефонной зарядки. Плат расширений много на любой вкус — реле, ethernet, радио, движки.

Ну дай пожалуйста линк на алиэкспресс какой нибудь на базовый набор.
Matrix has you...
Re[6]: семантика switch/case
От: T4r4sB Россия  
Дата: 10.01.16 14:33
Оценка:
Здравствуйте, maxluzin, Вы писали:

M>Ну хорошо, а как вы будете бороться с такой ситуацией?:

  Скрытый текст
M>
M>/** nonsence.h **/

M>#if defined(_ONE_)

M>#    define CONST_A  (1)
M>// ...
M>#    define CONST_B  (2)
M>#    define CONST_C  (3)
M>// ...
M>#    define CONST_D  (1)   /* Hello ! */

M>#else

M>#    define CONST_A  (1)
M>// ...
M>#    define CONST_B  (2)
M>#    define CONST_C  (3)
M>// ...
M>#    define CONST_D  (4)   /* OK */

M>#endif

M>


M>
M>#include "nonsence.h"

M>int main()
M>{
M>    //...
M>    switch (X)
M>    {
M>        case (CONST_A, CONST_B):    // 1 or 2
M>            foo();
M>            break;
M>        case (CONST_C, CONST_D):    // 3 or 1
M>            bar();
M>            break;
M>        case ((CONST_A & CONST_B) | (CONST_C & CONST_D) ):
M>            blah_blah();
M>            break;
M>        default:
M>            //...
M>    }
M>    // ...
M>    return (0);
M>}

M>


M>И чё делать компилятору, когда возникает такая неоднозначность? Просто обругать и выкинуть ошибку? А если так задумано, что CONST_x могут принимать различные значения? И не добавит ли нам ещё больше головной боли такая "вольность", чем простая "switch-board" по одному константному значению?


Не вижу никакой неоднозначности, в метках кейса стоят не перечисления, а арифметические выражения, вычислимые при компиляции. Где проблема?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[11]: семантика switch/case
От: enji  
Дата: 10.01.16 18:42
Оценка: 12 (1)
Здравствуйте, Sheridan, Вы писали:

S>Ну дай пожалуйста линк на алиэкспресс какой нибудь на базовый набор.


Ну вот тебе ардуино уно

А вот тоже самое, но еще с кнопочками, макеткой, светиками и прочим.

Ну и просто в поиске там вбей arduino и поставь бесплатную доставку — тонны всякого разного
Re[12]: семантика switch/case
От: Sheridan Россия  
Дата: 10.01.16 19:31
Оценка:
Здравствуйте, enji, Вы писали:

E>Ну и просто в поиске там вбей arduino и поставь бесплатную доставку — тонны всякого разного


Заказал кит, пару дисплеев и пару датчиков для начала. Посмотрю шокак. Спасибо
Matrix has you...
Re[2]: семантика switch/case
От: MasterZiv СССР  
Дата: 11.01.16 11:24
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Потому что не тем местом думали, когда язык делали.


Вообще-то чтение элементарного букваря по С (даже не по С++) уже спасает от указанных выше неожиданностей.
А про "не тем местом" -- кто ж тебя останавливает, давай, выдумай свой язык, "T" например, если он будет
сильно лучше всех остальных, так мы же будем рады просто на нём программировать!
Re[3]: семантика switch/case
От: T4r4sB Россия  
Дата: 11.01.16 11:39
Оценка: +1
Здравствуйте, MasterZiv, Вы писали:

MZ>Вообще-то чтение элементарного букваря по С (даже не по С++) уже спасает от указанных выше неожиданностей.


Да откуда ж вы берётесь...
Есть разница между "знать правило" и "всегда быть в напряге, чтобы случайно не наступить на граблю", понимаешь? В букваре много чего написано, например, что нельзя попадать ножом по пальцам при нарезке овощей, наверное все, кто режется — идиоты и букварь не читали по вашей логике, да?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.