Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
alex1951

Александр Прилепский

"умных преподавателей слушал я невнимательно..."
  • 4
    вклад
  • 1
    вопрос
  • 6
    ответов
  • 83%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Куда можно закинуть библиотеку utf8(мультибайтовых) строк для использования по надобности?

    alex1951
    Александр Прилепский @alex1951 Автор вопроса
    "умных преподавателей слушал я невнимательно..."
    Если кому-то будет интересно, разместил на гитхаб : https://github.com/dedmazay71/utf8string-1251
    Ответ написан 14 сент. 2022
    Комментировать
    Комментировать
  • Как определить тип функции для шаблона?

    alex1951
    Александр Прилепский @alex1951
    "умных преподавателей слушал я невнимательно..."
    Коль речь идет о шаблонах и желательно избавиться от int, не лучше ли воспользоваться шаблоном?
    template <class T, template <typename> class mc>
    class property : public mc<T> {
    public:
        property& operator= (T arg)  {
            this->Setter(arg);
            return *this;
        }
        operator T() {
            return this->Getter();
        }
    };
    
    template<class T>
    class Test {
    protected:
        T Getter() {
            std::cout << ("GET\n");
            return n;
        }
        void Setter(T arg) {
            std::cout << ("SET\n");
            n = arg;
        }
        T n;
    };
    
    int main() {
        property<int, Test> x;
        x = 10;
        std::cout << "Hello World! << "<< x << "\n";
        
        property<float, Test> y;
        y = 5.3f;
        std::cout << "Hello World! << "<< y << "\n";
    }
    Ответ написан 07 июл. 2022
    5 комментариев
    5 комментариев
  • Как конвертировать указатель PWSTR в указатель на string (c++)?

    alex1951
    Александр Прилепский @alex1951
    "умных преподавателей слушал я невнимательно..."
    Ничто не мешает Вам написать
    PWSTR pwc = L"qwerty";
        string* ps  =  (string*) pwc;
        cout << std::hex << (int)( (*(char*)ps) ) << ' ' << (int) ( (* ((char*)ps + 1)) )  << std::dec << endl;
        //71 0

    71 0 - код "широкого" символа q
    Смотрите сами, есть ли в этом какой смысл.
    Ответ написан 02 июн. 2022
    1 комментарий
    1 комментарий
  • Можно ли перегрузить постфиксную форму оператора ++ без использования классов?

    alex1951
    Александр Прилепский @alex1951
    "умных преподавателей слушал я невнимательно..."
    string operator ++ (string s, int){
    return s+"\n";
    }
    Ответ написан более года назад
    2 комментария
    2 комментария
  • Как сделать алгоритм более быстрым и эффективным?

    alex1951
    Александр Прилепский @alex1951
    "умных преподавателей слушал я невнимательно..."
    Да, странная задача. Индексы меняются на каждом шаге. Наверное, учебная... Приведенную реализацию можно несколько улучшить;
    void divisible_func(std::vector& a, const std::vector& b) {
    vector c;
    c.reserve(a.size());

    for(size_t i = 0; i < b.size(); ++i) {
    for(size_t j = 1; j < a.size(); ++j) {
    if (j % b[i] != 0) {
    c.push_back(a[j]);
    }
    }
    a.swap(c); // capacity swapped
    c.clear(); // capacity not changed
    }

    a.push_back(-1); // ????????????????
    }

    int main() {
    int elem;

    vector a;
    vector b;

    while (cin >> elem) {
    if (elem == -1) break;
    a.push_back(elem);
    }
    while (cin >> elem) {
    if (elem == -1) break;
    b.push_back(elem);
    }

    divisible_func(a, b);
    for (size_t i = 0; i < a.size(); i++) {
    cout << a[i] << std::setw(a.size());
    }
    }
    Ответ написан более года назад
    1 комментарий
    1 комментарий
  • В чем заключается ошибка?

    alex1951
    Александр Прилепский @alex1951
    "умных преподавателей слушал я невнимательно..."
    Наверное, ошибка в std::map 'std::thread, Pair' container; thread не имеет оператора == или < именно со thread, имеет со thread::id. Надо исправить на std::map'std::thread::id, Pair' container; Ну, и соответственные изменения в определениях Pair...
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • sasmoney
    sasmoney
    • 9 ответов
    • 0 вопросов
  • Drno
    • 8 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 8 ответов
    • 0 вопросов
  • GNUBack
    • 5 ответов
    • 0 вопросов
  • aryzhanki
    • 4 ответа
    • 0 вопросов
  • nedosekinstanislav
    Stanislav
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации