![]() ![]() 3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||||||||||||
Автоматическое преобразование стандартных типов13.02.2010, 00:39. Показов 4313. Ответов 26
Метки нет Все метки)
(
Если моя функция LOG принимает qString* можно ли сделать так чтобы автоматически вызывалась конструирование временного объекта и он отправлялся в фунцию? т.е. вместо
![]()
0
|
13.02.2010, 00:39 | |
Ответы с готовыми решениями:
26
Автоматическое преобразование китайского кода в нормальный
|
Maniac
![]() ![]() |
||||||||
13.02.2010, 01:58 | ||||||||
И Чем тебе не угодил стандартный класс std::string
0
|
![]() 230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
|
|||||||
13.02.2010, 03:55 | |||||||
в данном случае можно было бы перегрузить данную ф-цию. зделать из нее void LOG(char * error, ....) только вопрос в том, как теперь передать в нее переменное кол-во аргументов. Можно попробовать так:
0
|
![]() 2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||
13.02.2010, 12:14 | ||
1. У qString должен быть конструктор, позволяющий создать объект этого типа из аргумента типа const char* : qString::qString(const char* _arg) { /* как-то конструируем объект...*/ } 2. Функция LOG должна принимать аргумент типа qString по ссылке на константу: LOG(const qString& _arg) { /* здесь как-то логируем этот _arg */ }; Все. После этого можешь смело писать LOG("тра-ля-ля");
1
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
13.02.2010, 13:08 | |
Совет Используй массивы.
void LOG(qString* Error, ...); Это же указатель на объект каким боком ты адрес строки char сможешь присвоить. Если бы было так: void LOG(qString Error, ...); //может бы и прокатило, если у qString есть соответствующий конструктор преобразования. Но мое предложение не выгодно так как при передаче по значению происходит копирование. Может есть другие варианты.
0
|
Maniac
![]() ![]() |
|||||||
13.02.2010, 13:14 | |||||||
1
|
![]() ![]() 3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|||||||
13.02.2010, 13:30 [ТС] | |||||||
Прошу прощения, кажется ошибка была в объявлении, как всегда забываю в одном из двух мест исправить, но как получить следующий параметр const qString в LOG? Ссылки же инициализируются только на 1 объект
0
|
Maniac
![]() ![]() |
||
13.02.2010, 13:48 | ||
0
|
depict1
![]() 281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
13.02.2010, 15:10 | |
insideone, почитай
http://jia3ep.blogspot.com/200... ormat.html
0
|
![]() ![]() 3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||||||||||||
13.02.2010, 15:14 [ТС] | ||||||||||||||||
Хм? Мне не нужно форматировать вывод. У меня есть функция лога
0
|
![]() ![]() 3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
13.02.2010, 15:23 [ТС] | ||||||
Э... я имею ввиду что получать то она должа только строки, но писать я могу так:
0
|
![]() 2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
13.02.2010, 16:46 | ||||||
Нет, boost format - это, пожалуй, из пушки по воробьям....
Если у insideone такая возможность имеется, я бы предложил изменить интерфейс LOG таким образом, чтобы (этот объект) принимал "оператором сдвига" в стиле C++ :
1
|
![]() 2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
13.02.2010, 17:57 | ||||||
Читай про паттерн "синглтон" (Singleton) - это то, что тебе нужно. Будет примерно так:
0
|
13.02.2010, 17:57 | |
Помогаю со студенческими работами здесь
20
Преобразование типов переменных Преобразование типов в XE2
Преобразование типов из Object. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Реализация операторов Kubernetes
Mr. Docker 16.05.2025
Концепция операторов Kubernetes зародилась в недрах компании CoreOS (позже купленной Red Hat), когда команда инженеров искала способ автоматизировать управление распределёнными базами данных в. . .
|
Отражение в C# и динамическое управление типами
stackOverflow 16.05.2025
Reflection API в . NET — это набор классов и интерфейсов в пространстве имён System. Reflection, который позволяет исследовать и манипулировать типами, методами, свойствами и другими элементами. . .
|
Настройка гиперпараметров с помощью Grid Search и Random Search в Python
AI_Generated 15.05.2025
В машинном обучении существует фундаментальное разделение между параметрами и гиперпараметрами моделей. Если параметры – это те величины, которые алгоритм "изучает" непосредственно из данных (веса. . .
|
Сериализация и десериализация данных на Python
py-thonny 15.05.2025
Сериализация — это своего рода "замораживание" объектов. Вы берёте живой, динамический объект из памяти и превращаете его в статичную строку или поток байтов. А десериализация выполняет обратный. . .
|
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
|
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
|
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
|
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
|
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
|
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
|