Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 September 19

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Gerda
не, так то понятно, он заработает, просто я хочу без инклюдов хедеры
зачем?
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
не, ну можно хитро заинклюдить, что будет реально без инклюдов в хедерах, но иде тебе это не простит
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
так погоди, если мы берем хедер, подключаем его к cpp, в котором уже заинклюден vector, почему тогда в хедере вектор undefined?
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
потому что в C++ каждый файл сам за себя и ему плевать, что после склейки (а include = склейка файлов) что-то там получится иначе
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
оно даже соберётся, если в cpp правильно сделаешь, но лучше так не делать
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
твоя задача — убрать ошибки иде
то есть заинклюдить вектор и матрицу
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
а что, если я этот файл буду потом подключать к хедеру, в котором уже заинклюдены вектор и матрица?
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
так то понятно, что он скомпилится, просто я боялся за коллизии
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
для этого используют ifdef или pragma once
но, как я готовил выше, лучше не использовать куб в матрице, а матрицу в кубе (в хедерах, в сорсах делай что хочешь)
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
которые могут возникнуть в будущем
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
// some_header_file.h
#ifndef SOME_HEADER_FILE_H
#define SOME_HEADER_FILE_H
// your code
#endif

для твоих файлов
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
о векторе не волнуйся
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
кст, если сверху напишу просто pragma once?
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
он как-то отличается от индефов\ифдефов
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Gerda
кст, если сверху напишу просто pragma once?
ну это не стандарт просто, но по идеи работает во всех основных компиляторах
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Gerda
он как-то отличается от индефов\ифдефов
методика разная, но итог один)
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
понимаю, спасибо, еще и vs code автоматом этого не делает(
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
при объявлении хедеров
источник

G

Gerda in IT KPI C/C++ ХВ (не UB)
да, кст, спасибо большое, вы почти полчаса отвечали на мои тупые вопросы)
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Gerda
да, кст, спасибо большое, вы почти полчаса отвечали на мои тупые вопросы)
полчаса ровно 😛
это вместо подсчёта овец
источник