Size: a a a

2021 February 24

IZ

Ilia Zviagin in supapro.cxx
Nastya Medveda
Добрый день.  Пытаюсь понять как правильно трактовать std:: — это   пространство имен стандартных библиотек или что-то другое?
именно это. Ничто другое
источник

NM

Nastya Medveda in supapro.cxx
Ilia Zviagin
именно это. Ничто другое
спасибо.
источник

D

Danya in supapro.cxx
Roman Storozhenko
Это как настроить.
-wall только варнинг кидает
если мы о GCC.
Так что придётся низкоуровневый код рефакторить
Без разницы как настраивать
$ cat reguster.cpp
int main()
{
       register int a = 0;
}
$ clang++ -std=c++17 reguster.cpp
reguster.cpp:3:2: error: ISO C++17 does not allow
     'register' storage class specifier [-Wregister]
       register int a = 0;
       ^~~~~~~~~
1 error generated.
$ clang++ -std=c+
clang-10: error: no input files
$ g++ -std=c++17 reguster.cpp
reguster.cpp:3:2: error: ISO C++17 does not allow
     'register' storage class specifier [-Wregister]
       register int a = 0;
       ^~~~~~~~~
1 error generated.
источник

NM

Nastya Medveda in supapro.cxx
Ilia Zviagin
именно это. Ничто другое
ТО есть если я подключаю стандартную библиотеку (через #include<library>), то я ожидаю что  ее функции будут доступны через std::whatever?
источник

IZ

Ilia Zviagin in supapro.cxx
Nastya Medveda
ТО есть если я подключаю стандартную библиотеку (через #include<library>), то я ожидаю что  ее функции будут доступны через std::whatever?
да
источник

IZ

Ilia Zviagin in supapro.cxx
Nastya Medveda
ТО есть если я подключаю стандартную библиотеку (через #include<library>), то я ожидаю что  ее функции будут доступны через std::whatever?
Только это НЕ LIBRARY
источник

NM

Nastya Medveda in supapro.cxx
Ilia Zviagin
Только это НЕ LIBRARY
А что же это?
источник

IZ

Ilia Zviagin in supapro.cxx
Nastya Medveda
А что же это?
Заголовочный файл
источник

NM

Nastya Medveda in supapro.cxx
А как тогда трактовать записи типа std::string::size_type? Это ведь не отдельное пространство имен внутри std::string?
источник

RS

Roman Storozhenko in supapro.cxx
Danya
Без разницы как настраивать
$ cat reguster.cpp
int main()
{
       register int a = 0;
}
$ clang++ -std=c++17 reguster.cpp
reguster.cpp:3:2: error: ISO C++17 does not allow
     'register' storage class specifier [-Wregister]
       register int a = 0;
       ^~~~~~~~~
1 error generated.
$ clang++ -std=c+
clang-10: error: no input files
$ g++ -std=c++17 reguster.cpp
reguster.cpp:3:2: error: ISO C++17 does not allow
     'register' storage class specifier [-Wregister]
       register int a = 0;
       ^~~~~~~~~
1 error generated.
GCC варнинг выдаёт.
Вчера проверял
источник

MK

Mikhail Kalugin in supapro.cxx
Nastya Medveda
А как тогда трактовать записи типа std::string::size_type? Это ведь не отдельное пространство имен внутри std::string?
По сути, это оно и есть.
источник

ID

In Dev in supapro.cxx
Nastya Medveda
А как тогда трактовать записи типа std::string::size_type? Это ведь не отдельное пространство имен внутри std::string?
std::string это класс

Грубо говоря:
namespace std {
class string
{
public:
 using size_type = size_t;
};
}
источник

D

Danya in supapro.cxx
Roman Storozhenko
GCC варнинг выдаёт.
Вчера проверял
Прочитайте внимательно что я прислал :)
Там есть g++
источник

RS

Roman Storozhenko in supapro.cxx
Danya
Прочитайте внимательно что я прислал :)
Там есть g++
У меня warning
Могу показать, через 2 дня)
Вангую что это дефолтные настройки
источник

ПК

Побитый Кирпич... in supapro.cxx
Nastya Medveda
А как тогда трактовать записи типа std::string::size_type? Это ведь не отдельное пространство имен внутри std::string?
std - имя пространства имён
string - имя типа в этом пространстве
size_type - имя подтипа в типе string.
источник

MK

Mikhail Kalugin in supapro.cxx
Nastya Medveda
А как тогда трактовать записи типа std::string::size_type? Это ведь не отдельное пространство имен внутри std::string?
точнее, std::string тут ведет себя как отдельное пространство имен.
источник

NM

Nastya Medveda in supapro.cxx
Mikhail Kalugin
точнее, std::string тут ведет себя как отдельное пространство имен.
при этом я обращаюсь к свойству size_type внутри класса string, который находится в пространстве имен std
источник

ID

In Dev in supapro.cxx
Nastya Medveda
при этом я обращаюсь к свойству size_type внутри класса string, который находится в пространстве имен std
К типу size_type :)
источник

SK

Stas Koynov in supapro.cxx
Nastya Medveda
при этом я обращаюсь к свойству size_type внутри класса string, который находится в пространстве имен std
просто матрешка вот и все.
источник

Е

Егор in supapro.cxx
Danya
Без разницы как настраивать
$ cat reguster.cpp
int main()
{
       register int a = 0;
}
$ clang++ -std=c++17 reguster.cpp
reguster.cpp:3:2: error: ISO C++17 does not allow
     'register' storage class specifier [-Wregister]
       register int a = 0;
       ^~~~~~~~~
1 error generated.
$ clang++ -std=c+
clang-10: error: no input files
$ g++ -std=c++17 reguster.cpp
reguster.cpp:3:2: error: ISO C++17 does not allow
     'register' storage class specifier [-Wregister]
       register int a = 0;
       ^~~~~~~~~
1 error generated.
Обратная совместимость вышла из чата
источник