path canonical(const path& p, const path& base = current_path());
path canonical(const path& p, error_code& ec);
path canonical(const path& p, const path& base, error_code& ec);
Effects: Преобразует p, который должен существовать, в абсолютный путь без символической ссылки dotили dot-dot элементов в имени пути в универсальном формате.
Returns: Путь, который относится к тому же объекту файловой системы, что и absolute(p, base). Для перегрузки без base аргумента base есть current_path(). Подписи с аргументом ec возвращаются в path() случае ошибки.
Throws: Как указано в [fs.err.report].