Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Неймспейсы C/C++  [new]
SOFT FOR YOU
Member

Откуда:
Сообщений: 3170
petrav,

Я под модулем понимаю h/c, на дельфиский манер
Некая единица построения проекта

Знаю, что похожую штуку завезли
На практике h/c используют как единое целое, поэтому я называю "модуль". Несмотря на то, что под капотом есть нюансы
6 фев 21, 20:52    [22276479]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
SOFT FOR YOU,
Насколько помню, в дельфи есть пакеты с RTTI.
Так что dll на Си используются голые методы и остальное нафиг не нужно.
Мне кажется ты намешал все в одну кучу.
Я бы разделил Си и С++ и по версиям и по физическому размещению (проектам)
Имхо
6 фев 21, 22:23    [22276512]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
Пётр Седов
Member

Откуда: Санкт-Петербург
Сообщений: 700
SOFT FOR YOU
Я под модулем понимаю h/c, на дельфиский манер
В Delphi это называется «unit». В C++ есть аналогичное понятие «translation unit» (то, что получается из cpp-файла после обработки препроцессором).

SOFT FOR YOU
Некая единица построения проекта
Да, слово «unit» переводится как «единица».
6 фев 21, 22:23    [22276513]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
bk0010
Member

Откуда:
Сообщений: 5058
SOFT FOR YOU
Ну имена функция на С и С++ разные
Которые попадают в *.obj файл
Вопрос решаемый. Почитайте, как работать с манглинг-ом (mangling) в вашем компиляторе.
7 фев 21, 13:33    [22276620]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
По неймспейсам. В смежном топике автор пишет.

#include <vector>

using namespace std;

std::vector<Gdiplus::PointF> startKeyVector;


Он объявляет std глобально видимым. Но тем не менее использует явное указание std::vector.

Вопрос не к нему. Он - начинающий разработчик да и тема там не С++ а 3д графика.

Вопрос ко всем остальным:

Ребята! Вы все это делаете зачем? Почему многие используют этот паттерн? Как будто вам кто-то
один раз показал учебный пример с такой избыточной техникой, все повторили, и у всех в мозгу отложилось
что так надо.

Сообщение было отредактировано: 14 фев 21, 19:55
14 фев 21, 19:23    [22280820]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

"Я вам не скажу за всю Одессу", но лично я никогда не использую "using namespace". Ибо это
подрывает саму идею неймспейсов.

Posted via ActualForum NNTP Server 1.5

14 фев 21, 19:58    [22280836]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Хорошо.

Фигурные скобАчки (рифмуется с собачки).

Кто использует? Быстрый ревью по git репозитариям кода показывает еще худшее, почти нулевое
использование фичи.
14 фев 21, 20:01    [22280837]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
mayton,
Ну ошибка там. Если я объявил, то нафига я ниже писать буду?
Пример
// Listing 0
// C++
#include <stdio.h>
#include <cppuhelper/bootstrap.hxx>
#include <com/sun/star/bridge/XUnoUrlResolver.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
// added
#include <com/sun/star/frame/XComponentLoader.hpp>
 
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
using namespace com::sun::star::bridge;
// added
using namespace com::sun::star::frame;
 
using namespace rtl;
using namespace cppu;


Сообщение было отредактировано: 14 фев 21, 20:00
14 фев 21, 20:02    [22280838]     Ответить | Цитировать Сообщить модератору
 Re: Неймспейсы C/C++  [new]
petrav
Member

Откуда:
Сообщений: 2861
mayton

Ребята! Вы все это делаете зачем? Почему многие используют этот паттерн? Как будто вам кто-то
один раз показал учебный пример с такой избыточной техникой, все повторили, и у всех в мозгу отложилось
что так надо.

Так никто не делает. В данном случае это могло быть или ошибкой, или `std::vector` было написано до того
как написали `using namespace std;`. Это нормально.
14 фев 21, 20:20    [22280847]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / C++ Ответить