Форум программистов, компьютерный форум CyberForum.ru

Compile-time и run-time методы и функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ WinAPI Выполнить код ассемблера в другом процессе http://www.cyberforum.ru/cpp-beginners/thread1798092.html
Собственно сабж. Возможно ли? HANDLE hProc = OpenProcess(OPEN_PROCESS_ALL_ACCESS, FALSE, pId); executeAssemblerInProcess(__asm() { 1012954E: mov , 0 }, hProc); CloseHandle(hProc); Есть запасной вариант: BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
C++ Expansion pattern contains no argument packs Есть 3 функции: void add(short n) { //... return; } void add(short a, short n) { //... add(n...); return; } http://www.cyberforum.ru/cpp-beginners/thread1798090.html
Сравнение строковых литералов C++
Добрый день, есть кроссплатформенные гарантии на то, что адреса одного и тоже же строкового литерала внутри одного .exe/.lib будут равны? Про .lib имеется статическая линковка несколько проектов в один ? void add( const char* const s, function<void()> fn ) { cont = fn; } bool foundSome( const char* const s )
Изменить значение выражения введенное с клавиатуры C++
Здравствуйте, у меня имеется код char *p; p = (char *)malloc(100); char *s; s = p; gets_s(s, 100);мне необходимо поменять значение переменной s после ввода с клавиатуры, там где символ ',' поменять на '.' и добавить '0' в начало. "formula = '0' + formula;" - пробовал так, не помогает. Единственное что удалось - это через *p указатель поменять значение только первого символа
C++ Унаследовать функцию с переменным числом параметров http://www.cyberforum.ru/cpp-beginners/thread1798048.html
Добрый день, форум! Вот такая задачка: Есть базовый класс A с методом void func(void). От этого класса унаследовался другой класс, B, в котором есть тоже функция func, но с другим набором входных параметров void func(int, int). Мне нужно как-то изменить метод func в базовом классе, чтобы он смог принимать разное кол-во разнотипных аргументов и мог бы вызвать соответствующую функцию func у...
C++ Функции, зависимые от реализации компилятора какой вызов является зависимым от реализации компилятора? realloc(..., 0) memcpy() между объектами, перекрывающими друг друга free(strdup()) calloc() нулевого размера realloc(NULL, ...) подробнее

Показать сообщение отдельно
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
24.08.2016, 13:55     Compile-time и run-time методы и функции
Цитата Сообщение от [progeR] Посмотреть сообщение
нужно ли держать в коде обе версии функции, или достаточно ограничиться только run-time версией?
Оставляешь одну constexpr версию.
C++
1
2
3
4
5
template<bool leftShift, typename T>
constexpr T byteShift(T data)
{
    return leftShift ? data << 8 : data >> 8;
}
Убедиться, что она работает и на этапе компиляции, можно, например, так:
C++
1
    enum { check = byteShift<true>(0x00FFAE65) };
 
Текущее время: 01:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru