Вопросы по теме 'narrowing'
Как работает многобайтовый символ '\ 377777'?
Кланг упомянул мне об этой штуке, когда я пробовал различные нестандартные способы найти std::numeric_limits<size_t>::max() для моего allocator::max_size()
Размер выражения кажется ограниченным до 4 байтов, поэтому он очень похож на...
53 просмотров
schedule
06.11.2021
Сужающее преобразование
#include <iostream>
#include <vector>
#include <cctype>
using namespace std;
char get_selection() {
char selection{};
cin >> selection;
return toupper(selection);
}
int main() {
char selection {};
do{...
992 просмотров
schedule
08.11.2021
Машинопись: [Время компиляции] Записываемый (- читаемый) массив / объект с сужением константного типа
Используя утверждение const , можно красиво сузить тип литерала объекта / массива до его элементов.
e.g.
const arr = [
[5, "hello"],
[5, "bye"],
] as const;
type T = typeof arr; // type T = readonly [readonly [5,...
155 просмотров
schedule
23.09.2021
Почему `bool b = 2` работает хорошо, а `bool b = {2}` выдает предупреждение о сужающем преобразовании?
Использование инициализатора {} в C++11 для инициализации bool b = {2} приводит к следующему предупреждающему сообщению:
warning: narrowing conversion of ‘2’ from ‘int’ to ‘bool’ inside { } [-Wnarrowing]
Однако при использовании старого...
581 просмотров
schedule
03.02.2023
Почему Typescript не может определить тип в моем коде?
Почему компилятор Typescript жалуется на следующий код?
type Foo = {
a: string
}
type Bar = {
b: number
}
type Baz = Foo | Bar;
function f(x: Baz): number {
if (x.a) { // property 'a' does not exist on type Bar!
return 0;
}
if...
85 просмотров
schedule
25.04.2023
Почему предупреждение о конверсии сужения появляется только в случае инициализации списка?
У меня есть следующий код:
class A
{
public:
A(const unsigned int val) : value(val) {}
unsigned int value;
};
int main()
{
int val = 42;
A a(val);
A b{val}; // <--- Warning in GCC, error in Microsoft...
1122 просмотров
schedule
09.01.2024
Задача вывода/сужения типа TypeScript
В настоящее время я пытаюсь улучшить типы в некотором существующем коде. Мой код выглядит примерно так:
/* dispatcher.ts */
interface Message {
messageType: string;
}
class Dispatcher<M extends Message> {
on<...
858 просмотров
schedule
03.06.2024