Задать вопрос
  • Как работает размещающий оператор new?

    @MiiNiPaa
    Это не размещающий new. Это обычное создание объекта. Коструктор хайлайтера регистрирует себя в родительском объекте и родительский объект ответственен за его удаление, поэтому результат new-expression не используется.

    Placement new выглядит как:
    new ( <pointer> ) ClassName(...)

    Чтобы понять, как работает размещающее new, надо понять отличие new-expression от оператора new. new-expression делает вещи:
    1. Вызывает оператор new, передавая в него параметры написанные после new и до имени класса. Этот оператор выделяет память и возвращает указатель на выделенную память
    2. Вызывает конструктор класса, передав параметры написанные после имени класса. Это создаст объект в памяти выделенной в (1)


    Размещающий оператор new берёт в качестве параметра указатель на уже выделенную память и просто возвращает его.
    Ответ написан
    2 комментария
  • Средства для deploy приложения на asp.net?

    EreminD
    @EreminD
    Кое-что умею
    WebDeploy
    Вполне себе вариант
    Ответ написан
    Комментировать
  • Как в конструкторе класса присвоить полю объект другого класса?

    JonNiBravo
    @JonNiBravo
    Вообще код верный, что именно не работает?
    можно еще так
    class Stack
    {
    private:
        DynamicArray *arr;
    public:
        Stack()  : arr(new DynamicArray())
        {
            assert(arr);
        }
    }
    Ответ написан
    2 комментария
  • ООП головного мозга?

    AtomKrieg
    @AtomKrieg
    Давай я поищу в Google за тебя
    Когда вы пишете лабораторку или собственный маленький проектик, то можете делать как вам угодно.
    А теперь представьте себе ситуацию когда в команде программистов вы написали класс с публичными переменными, а потом подошел руководитель проекта и сказал что на каждое присваивание переменной надо делать запись в лог-файл. Теперь все программисты, которые пользовались вашим классом, вместо работы переписывают код с переменных на сеттеры.

    Советую почитать "Совершенный код", чтобы не задавать подобные вопросы.
    Ответ написан
    2 комментария
  • Как изучать дальше(c++)?

    GavriKos
    @GavriKos
    Прочитав книгу и посмотрев серию уроков вы не изучили C++ аж никак. Вам нужна практика. Придумайте себе любую задачу и решите ее. И поиск юзайте - вопрос поднимался много раз.
    Ответ написан
    1 комментарий
  • MS SQL Server репликация данных. Есть ли нормальное описание, что это и как настроить?

    NYMEZIDE
    @NYMEZIDE
    резюме - ivanfilatov.ru
    Репликация это немного не то, что вы хотите.

    Настройте планировщик или триггеры, которые будут делать экспорт старых данных. В другую БД, в файл или куда-либо. И удалять эти записи в случае успешного экспорта.

    А для просмотра архивных данных можно написать простую прогу или скрипт, который будет выводить или делать поиск по этим данным.

    Главное определиться с форматом и регламентом.
    Ответ написан
    Комментировать
  • Функциональное приведение типов?

    @res2001
    Developer, ex-admin
    В первом случае сначала приводится 1 к double явно, потом неявно 3 в double, т.к. первый аргумент операции дабл, а потом выполняется деление двух даблов.
    Во втором случае выполняется целочисленное деление с результатом 0, затем 0 приводится к даблу.
    Ответ написан
    Комментировать
  • Не могу вызвать private C#?

    metallix
    @metallix
    Backend - developer
    Могу ошибаться, но "button_click" не должен быть как public?
    Ответ написан
    1 комментарий
  • SendMessage как послать клик по координатам не активного окна? или найти замену?

    maaGames
    @maaGames
    Погроммирую программы
    FindWindow находит дескриптор окна приложения и клик посылается именно в него, а нужно посылать в окно "вида". Запусти spy (в комплекте со студией ставится) и скопируй дескриптор окна с канвой. Нажать бинокль и перетащить "прицел" на канву в открытом пэйнте - окно обведётся квадратиком. Затем вставь дескриптор в код:
    HWND wnd1 = (HWND)0x000704EC;
    
    	::SendMessage( wnd1, WM_LBUTTONDOWN, 0, MAKELPARAM( 100, 100 ) );
    	::SendMessage( wnd1, WM_LBUTTONUP, 0, MAKELPARAM( 100, 100 ) );


    После этого можешь попробовать из дескриптора окна приложения добраться до дочернего окна, с которым требуется взаимодействовать. Так же через spy посмотри, есть ли дочерние окна в игре.
    Ответ написан
    Комментировать
  • Как различить методы GET/POST в классе контроллера?

    @dmitryKovalskiy
    программист средней руки
    Можно через параметры объекта Request. Там есть такое поле. Однако это плохая практика. Я бы рекомендовал перегрузить метод каким-нибудь параметром(врятли вы делаете POST без параметров) и проставить атрибуты [httpget][httppost].
    А по поводу кода выше - там запросы делаются по разным адресам. Там же не делается POST -запрос на api/Account/ и система сама догадывается до того что надо делать Logout
    Ответ написан
    3 комментария
  • Какие основные требования к C++ Game Developer?

    @cthulhudx
    DirectX/OpenGL, PhysX, Box2D, Design Patterns, Multithreading, WinAPI, Neural Networks, strong mathematics skills(including proficiency with trigonometry and linear algebra)
    Ответ написан
    Комментировать
  • Чем отличается разработка ASP.NET MVC от ASP.NET API?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    отдачей результата.
    В первом случае вы по умолчанию получаете html, во втором json или xml.
    Ответ написан
    4 комментария
  • C# Paralllel.ForEach in Parallel.ForEach. Имеет ли смысл?

    @VanKrock
    Мне кажется, что в данном случае вы упретесь в чтение с диска
    Ответ написан
    Комментировать
  • Как задать время выполнения потока (c#)?

    wkololo_4ever
    @wkololo_4ever
    Timer с CancelToken
    Ответ написан
    Комментировать
  • В чем разница между [тип] const * и const [тип] const *?

    dnovikoff
    @dnovikoff
    Очень странный пример.
    Между const [type] и [type] const вообще нет никакой разницы - оба раза const применяется к типу
    const [type] const - это двойное применение const к типу, что вызовет ошибку компиляции.

    В случае если const стоит после звездочки, то оператор const применяется к указателю
    То есть [type] * const

    Так же возможны равнозанчные варианты
    [type] const * const
    и
    const [type] * const
    где const применен и к типу и к указателю

    Говоря простыми словами:
    1. Если const относится к типу (до звездочки), то данные по указателю менять нельзя
    2. Если const относится к указателю (после звездочки), то нельзя менять менять сам указатель
    Ответ написан
    Комментировать
  • Как можно подменить вызов функции в классе?

    @sitev_ru
    sitev.ru - мой блог ...
    "Нужно, что бы снаружи класса функция myFunct1 вызывалась как обычно, но на самом деле вызывалась myFunct2."

    Может всё намного проще?

    int myFunct1(double b) {
      return myFunct2(b);
    }
    Ответ написан
    2 комментария
  • Как динамически создать n-ое количество потоков в с++ std::thread?

    #include "stdafx.h"
    #include <thread>
    #include <vector>
    #include <iostream>
    
    void foo(std::size_t i)
    {
    	// nothing to do
    }
    
    int main()
    {
    	std::vector<std::thread> ths;
    	std::size_t n;
    	std::cin >> n;
    	for (std::size_t i = 0; i < n; ++i)
    		ths.push_back(std::thread(&foo, i));
    	for (auto & th : ths)
    		th.join();
    	return 0;
    }
    Ответ написан
    6 комментариев
  • Как логировать?

    @dmitryKovalskiy
    программист средней руки
    Библиотечка NLog решит 99% ваших задач.
    Ответ написан
    Комментировать
  • Как KeyPressEventArgs заставить сохранять кириллические символы корректно на C#?

    arxont
    @arxont
    C# программист
    У меня подозрение, что вы просматриваете ваш созданный файл через просмоторщик, который не понимает UTF. Поэтому и вылазят кразозябры.
    Если вам надо не в UTF, а к примеру в стандартной раскладке windows, то указывайте её через Encoding. К примеру так -
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
       TextWriter tw = new StreamWriter("keypress.txt", true, Encoding.GetEncoding(1251));
        tw.WriteLine(e.KeyChar);
        tw.Close();
    }
    Ответ написан
    Комментировать
  • Почему методы нельзя передавать в функции без делегатов?

    Nipheris
    @Nipheris Куратор тега C#
    Делегаты - это форма существования функтора на платформе .NET. Почитайте про функтор, и поймете (наверное), зачем нужен делегат.

    Если коротко и грубо - вызвать напрямую можно всегда только конкретный метод, который будет четко известен еще на стадии компиляции. Если же вы пишете некий обобщенный алгоритм и заранее не знаете, какие КОНКРЕТНО методы у каких КОНКРЕТНО объектов будете вызывать - вам необходимо будет воспользоваться делегатом.
    Простейший пример - LINQ-методы. Метод фильтрации Where получает своим параметром функтор, который возвращает true или false, что значит - оставить элемент в коллекции или выкинуть его. В этом методе в цикле foreach вызывается переданный делегат для каждого элемента. Where понятия не имеет, какой конкретно метод (или лямбда-выражение) вы захотите подставить в качестве фильтрующего предиката.

    Другой пример - события. События в дотнете - это делегаты с урезанным публичным интерфейсом. Так как, к примеру, кнопка не знает о том, кто захочет подписаться на событие ее нажатия, она никак не может вызвать конкретные методы у конкретных объектов. Чтобы иметь возможность сообщать о своем нажатии, кнопка выставляет событие Click наружу, давая возможность записать туда конкретные методы для вызова.

    Кстати, делегат выполняет еще и функцию связывания: для нестатических методов делегат хранит еще и объект, для которого будет вызван instance-метод (т.е. связывает пару объект-метод).

    Таким образом,
    > Почему методы нельзя передавать в функции без делегатов?
    Делегаты - это и есть передача методов в функции.
    Ответ написан
    Комментировать