- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
public class ExampleW{
public static void main(){
Scanner input = new Scanner(System.in);
System.out.println("Give mark: ");
int mark = input.nextInt();
String Grade;
switch (mark){
case 100:
case 99:
case 98:
case 97:
case 96:
case 95:
case 94:
case 93:
case 92:
case 91:
case 90:{
Grade = "A+";
break;
}case 89:
case 88:
case 87:
case 86:
case 85:
case 84:
case 83:
case 82:
case 81:
case 80: {
Grade = "A";
break;
}case 75:
case 76:
case 77:
case 78:
case 79:{
Grade = "A-";
break;
}case 70:
case 71:
case 72:
case 73:
case 74:{
Grade ="B+";
break;
} case 69:
case 68:
case 67:
case 66:
case 65:{
Grade ="B";
break;
}
case 64:
case 63:
case 62:
case 61:
case 60:{
Grade = "C+";
break;
}case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59: {
Grade = "C";
break;
}case 45:
case 46:
case 47:
case 48:
case 49:{
Grade = "D";
break;
}case 40:
case 41:
case 42:
case 43:
case 44:{
Grade = "E";
break;
}case 0:
case 1:
case 2:
case 3:
...
...
}default: {
Grade = "null";
break;
}}
}
ucnaHckuu_CTblD 15.02.2022 13:46 # 0
bormand 15.02.2022 15:16 # +1
OPAHrymaH 15.02.2022 21:33 # +2
bormand 15.02.2022 21:36 # +1
OPAHrymaH 15.02.2022 21:43 # 0
kcalbCube 17.02.2022 17:36 # 0
guest6 17.02.2022 17:39 # 0
Затуманились речные перекаты
BOKCEJIbHblu_nemyx 17.02.2022 18:32 # 0
OPAHrymaH 18.02.2022 00:21 # 0
bormand 18.02.2022 00:23 # 0
OPAHrymaH 18.02.2022 00:26 # 0
BOKCEJIbHblu_nemyx 18.02.2022 00:32 # 0
OPAHrymaH 18.02.2022 02:04 # 0
Floating_cockerel 18.02.2022 02:32 # 0
Hu3KoypoBHeBblunemyx 18.02.2022 03:32 # 0
COTOHuHCKuu_nemyx 18.02.2022 04:32 # 0
ObeseYoung 18.02.2022 12:20 # 0
ucnaHckuu_CTblD 18.02.2022 15:09 # 0
Не благодари.
guest6 18.02.2022 12:49 # 0
Окончания были такие
- Ну не плачь,- сказала Мышка:
все равно кастрюле крышка!
-И это для Дятла такая наука,
Что он никуда не заходит без стука!
-Пожалуйста, я откажусь от короны,
Но можно сначала доесть макароны?
-Но тут Осьминог подошёл к Осьминогу
И в знак уваженья пожал ему ногу.
-Вчера крокодил улыбнулся так злобно,
Что мне до сих пор за него неудобно
nOJlKOBHuK_CAHDEPC 20.02.2022 20:41 # 0
guest6 18.02.2022 00:48 # 0
ucnaHckuu_CTblD 18.02.2022 15:08 # 0
guest6 18.02.2022 00:47 # 0
Да и та на погоне
Steve_Brown 18.02.2022 18:58 # 0
HE_OTBE4Au_YE6KY 18.02.2022 09:27 # 0
Скроется солнце в густых облаках.
Steve_Brown 18.02.2022 19:01 # 0
:trollface:
kcalbCube 19.02.2022 13:16 # 0
kcalbCube 19.02.2022 13:22 # 0
kcalbCube 19.02.2022 13:24 # 0
kcalbCube 19.02.2022 13:27 # 0
это же так можно бы было битоебить...
bormand 19.02.2022 13:30 # 0
whois 19.02.2022 13:33 # 0
Soul_re@ver 19.02.2022 13:42 # 0
Noodles 19.02.2022 13:47 # 0
bormand 19.02.2022 13:50 # 0
Soul_re@ver 19.02.2022 13:59 # 0
> #include <iostream>
bormand 19.02.2022 14:02 # +1
> std::printf
Кстати, а использование функций случайно прилетевших по транзитивной зависимости -- это не UB? Или просто implementation defined?
Soul_re@ver 19.02.2022 14:09 # 0
OPAHrymaH 19.02.2022 14:55 # 0
Думаю, это implementation defined.
bormand 19.02.2022 15:01 # 0
Всё-таки транзитивность препроцессора -- зло.
OPAHrymaH 19.02.2022 15:10 # 0
Если же библиотека с раздельной компиляцией, то всё, от чего зависит только реализация и не зависит интерфейс, можно инклюдить только в c/cpp-файлы, не портя хедеры лишними зависимостями.
Noodles 19.02.2022 15:14 # 0
Soul_re@ver 19.02.2022 15:19 # +3
ЯНИХУЯНЕПОНЯЛ.ЖПГ
> Нэйм пейсами это говно не решается?
Проблема в том, что то, что внутри использует какая-то библиотека, вылазит к тебе.
Импортируется какая-то бустовская либа, все эти имена доступны тебе. И теперь у тебя всё падает с ошибкой, потому что новый инклюд затащил через три колена какую-то функцию, которая стала находиться через ADL и оказалась лучшим кандидатом, чем оригинальная.
666_N33D135 20.02.2022 14:06 # 0
А хотя в крестоговне всё равно прилетят макросы из других хедеров. Какой багор )))
Soul_re@ver 20.02.2022 14:15 # +1
Анонимный неймспейс не спасёт, он только даёт внутреннюю видимость. Единственный, кого это ебёт — линкер.
Вся проблема именно в том что include это тупой копипаст. В последних С++ это попытались решить модулями, в которых прописано, что именно экспортируется.
j123123 20.02.2022 14:44 # 0
И как эти "модули" кобенируются с обычными .h файлами, инклудящимися через препроцессор?
Soul_re@ver 20.02.2022 14:55 # +1
Единственная проблема — импортируемые заголовки не видят макросов, обявленных вне них (благодаря изоляции). Так что, если настройка библиотеки работает через определение макросов перед её включением, то нужно макросы определять либо на уровне компилятора (-dNDEBUG), либо использовать костыль под названиет «глобальный фрагмент модуля»
bormand 20.02.2022 15:15 # 0
Х.з., я даже с обычными хедерами всегда пишу такие настройки через -D. Чтобы заведомо рассогласования не было.
guest6 20.02.2022 15:17 # 0
за #define SETTING 1 да еще и в правлиьном парядке надо пробивать щелбана
OPAHrymaH 19.02.2022 15:22 # 0
https://ideone.com/NCKGkG
Support 20.02.2022 14:24 # −1
Бон аппетит.
guest6 19.02.2022 14:17 # 0
kcalbCube 19.02.2022 15:55 # 0
Noodles 19.02.2022 14:01 # 0
bormand 19.02.2022 14:23 # 0
- у юниона есть только один активный член
- остальные члены ещё не начали или уже закончили жить
- поэтому обращение к ним UB
guest6 19.02.2022 14:28 # 0
bormand 19.02.2022 14:30 # +1
Floating_cockerel 19.02.2022 14:33 # 0
Soul_re@ver 19.02.2022 14:40 # +1
bormand 19.02.2022 14:46 # 0
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Type-punning
Судя по приведённым там примерам, увидит что другой член трогают и зафлашит всё как положено. Но надо именно явно обращаться, не через указатели. Иначе не зафлашит.
j123123 20.02.2022 09:37 # 0
С точки зрения стандарта это UB.
bormand 20.02.2022 09:39 # 0
См. цитату Линуса ниже по тексту.
j123123 20.02.2022 09:42 # 0
https://lore.kernel.org/lkml/[email protected]/
The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed:
- the whole C++ exception handling thing is fundamentally broken. It's
_especially_ broken for kernels.
- any compiler or language that likes to hide things like memory
allocations behind your back just isn't a good choice for a kernel.
- you can write object-oriented code (useful for filesystems etc) in C,
_without_ the crap that is C++.
И правильно. Кресты - кривоублюдочное говно с говноэксепшенами.
kcalbCube 20.02.2022 11:41 # 0
j123123 20.02.2022 11:49 # 0
kcalbCube 20.02.2022 11:56 # 0
bormand 20.02.2022 11:58 # +1
Просто не юзай 90% стандартной либы и не пиши try и throw.
З.Ы. В стандарте нет никакого "размера кода", поэтому на размер кода это никак не влияет.
j123123 20.02.2022 12:11 # 0
А также надо не юзать никаких библиотек, которые используют эти говноэксепшены и что-то из той 90% части стандартной либы, которой эксепшены нужны. В общем хуй че тогда можно поюзать, говно одним словом
Soul_re@ver 20.02.2022 12:13 # 0
666_N33D135 20.02.2022 12:14 # 0
j123123 20.02.2022 12:15 # 0
И они пользуют только те 10% из стандартной крестоговнолибы, которой не нужны исключения, да?
Soul_re@ver 20.02.2022 12:16 # 0
bormand 20.02.2022 12:16 # 0
Если мы говорим конкретно о ядре, то и в сишной либе хуй чего можно поюзать. Ну разве что какие-то совсем базовые вещи в духе memcpy да strncpy.
j123123 20.02.2022 12:21 # 0
Во-первых в сишной либе и так хуй что есть. Во-вторых stdatomic.h вполне можно поюзать. И stdalign.h например. Или это тоже базовые вещи? Что вообще считать за базовые, а что за "небазовые" вещи?
Soul_re@ver 20.02.2022 12:24 # +1
Тебе не скажут, что в твоей либе кучу вещей нельзя использовать в каких-то обстоятельствах, если и так там использовать нечего.
Лучший язык — брейнфак. Одинакого непригоден что для прикладного программирования, что для ядра, что для контроллеров.
bormand 20.02.2022 12:25 # 0
Ну и в крестах ты вполне можешь поюзать атомики и кучу алгоритмов. Те же сортировки. Они или в принципе ничего не кидают или не кидают если твои типы ничего не кидают.
O4epegHou_nemyx 20.02.2022 12:33 # 0
Hu3KoypoBHeBblunemyx 20.02.2022 13:33 # 0
OPAHrymaH 20.02.2022 16:11 # 0
Даже Торвальдс сказал, что туалетная бумага полезнее стандарта, потому что она не оставляет чернил на жопе.
guest6 20.02.2022 16:42 # 0
guest6 20.02.2022 15:17 # 0
allocations behind your back just isn't a good choice for a kernel.
ну тут надо сказать, что прячет только STL. Сам С++ ничего не прячет
666_N33D135 20.02.2022 12:16 # 0
bormand 20.02.2022 12:17 # 0
guest6 20.02.2022 16:43 # 0
666_N33D135 20.02.2022 17:03 # 0
guest6 20.02.2022 17:19 # 0
bormand 20.02.2022 18:10 # 0
Но при этом bit fields.
guest6 20.02.2022 18:51 # 0
bormand 19.02.2022 14:51 # 0
Linus Torvalds
Noodles 19.02.2022 13:46 # 0
kcalbCube 19.02.2022 15:49 # +1
bormand 19.02.2022 15:52 # 0
kcalbCube 19.02.2022 15:54 # 0
Noodles 19.02.2022 13:45 # 0
Noodles 19.02.2022 13:28 # 0