это нормальная практика, или может быть какая ошибка в случае, когда 2 объекта А одновременно вызывают метод из Б?
int global;
class B
{
static int class_static;
public:
void f()
{
static int function_static;
}
};
Смысл его прост: отменить действие макроса в определенной части кода, а по ее истечении восстановить этот макрос.
#define temp func
значение макроса func не подставляется. В temp попадает буквально слово func
. После #undef func
содержимое макроса func будет потеряно. Это поведение предписано стандартом, мне неизветсны опции компилятора, которыми его можно было бы изменить. См. eelis.net/c++draft/cpp.replace#10 и eelis.net/c++draft/cpp.rescan#define foo bar
#define func foo
...
#undef func
...
#define func foo
typedef int (*function);
typedef int (*function)(void);
status = sqlite3_open_v2(TEMP_DB_PATH, &sql_db, SQLITE_OPEN_READONLY, NULL);
sqlite3_close(sql_db);
typedef sqlite3;
typedef int (*fn1) (sqlite3* db);
Как правильно передать управление в __asm?
__asm {
mov eax, hProcess
push 0
push eax
call TerminateProcess
}
Код умножает матрицу на эту же транспонированную матрицу.
MulMatr[i] = new int[c2];
из цикла по j на один уровень выше в цикл по i -- будет хорошо умножать. Но к сегфолту это отношения скорее всего не имеет.r2 == c1
.Работает при размере матрицы n*m, n<=m, если n>m выдает System.AccessViolationException.
Вопрос:
Как мне передать это по UDP пользуясь unix сокетами?
это все ведь можно представить как набор данных, представить его как void * выделить под данные пол мегабайта, и отправить это все дело на сервер, а на сервере полученные данные скастовать обратно в std::unordered_map <uint64_t, Track>
или нельзя так делать?
Почему то при вызове GetDiskFreeSpaceEx() программа останавливается
PULARGE_INTEGER Free; PULARGE_INTEGER Total; PULARGE_INTEGER TotalBytes; cout<<"\n\nСписок томов:"; HANDLE search = FindFirstVolume(Volume, sizeof(Volume)); do { cout <<"\n"<<Volume; GetDiskFreeSpaceEx(Volume, Free, Total, TotalBytes); //
ULARGE_INTEGER Free;
ULARGE_INTEGER Total;
ULARGE_INTEGER TotalBytes;
cout<<"\n\nСписок томов:";
HANDLE search = FindFirstVolume(Volume, sizeof(Volume));
do {
cout <<"\n"<<Volume;
GetDiskFreeSpaceEx(Volume, &Free, &Total, &TotalBytes); //
void CheckPressedKey(char** area, char** area_buf, int row, int col) { struct Ships ships;
static struct Ships ships;
. С этим изменением будет работать так как ты задумал, но наличие статических переменных в функциях -- не очень хорошая практика. Обычно лучшим решением является передача таких данных в функцию как параметра, например:void CheckPressedKey(char** area, char** area_buf, int row, int col, struct Ships *ships)