LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Динамическая типизация это в частности, когда мы можем не указывать тип данных явно – это auto.

Там тип указывается вполне явно, по определенным правилам. Для динамической типизации, должна быть возможность делать так:

auto a = 5;
a = "hello";
А тип auto всегда известен:
#include <type_traits>

template <typename A, typename B>
void test(A a, B b) {
    auto x = a + b;
    static_assert(std::is_same<decltype(x), int>::value);
}

void test2() {
    test(5, 5); // ok
    
    test(5, 5.5); // fail
}

Определение из википедии: «переменная связывается с типом в момент присваивания значения ... в различных участках программы одна и та же переменная может принимать значения разных типов»

Более лучшим примером, мог бы быть std::variant.

Исправление MOPKOBKA, :

Динамическая типизация это в частности, когда мы можем не указывать тип данных явно – это auto.

Там тип указывается вполне явно, по определенным правилам. Для динамической типизации, должна быть возможность делать так:

auto a = 5;
a = "hello";
А тип auto всегда известен:
#include <type_traits>

template <typename A, typename B>
void test(A a, B b) {
    auto x = a + b;
    static_assert(std::is_same<decltype(x), int>::value);
}

void test2() {
    test(5, 5); // ok
    
    test(5, 5.5); // fail
}

Определение из википедии: «переменная связывается с типом в момент присваивания значения ... в различных участках программы одна и та же переменная может принимать значения разных типов»

Исправление MOPKOBKA, :

Динамическая типизация это в частности, когда мы можем не указывать тип данных явно – это auto.

Там тип указывается вполне явно, по определенным правилам. Для динамической типизации, должна быть возможность делать так:

auto a = 5;
a = "hello";
А тип auto всегда известен:
#include <type_traits>

template <typename A, typename B>
void test(A a, B b) {
    auto x = a + b;
    static_assert(std::is_same<decltype(x), int>::value);
}

void test2() {
    test(5, 5); // ok
    
    test(5, 5.5); // fail
}

Определение из википедии: «переменная связывается с типом в момент присваивания значения»

Исправление MOPKOBKA, :

Динамическая типизация это в частности, когда мы можем не указывать тип данных явно – это auto.

Там тип указывается вполне явно, по определенным правилам. Для динамической типизации, должна быть возможность делать так:

auto a = 5;
a = "hello";
А тип auto всегда известен:
#include <type_traits>

template <typename A, typename B>
void test(A a, B b) {
    auto x = a + b;
    static_assert(std::is_same<decltype(x), int>::value);
}

void test2() {
    test(5, 5); // ok
    
    test(5, 5.5); // fail
}

Исходная версия MOPKOBKA, :

Динамическая типизация это в частности, когда мы можем не указывать тип данных явно – это auto.

Там тип указывается вполне явно, по определенным правилам. Для динамической типизации, должна быть возможность делать так:

auto a = 5;
a = "hello";