Задать вопрос
  • Какие алгоритмы заложены в функции opengl?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Некоторую информацию можно найти здесь - краткий курс компьютерной графики.
    Ответ написан
    Комментировать
  • Доступ к полям базового класса?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Зачем полям в базовом классе быть private? Сделайте их protected и пользуейтесь в наследниках. А ещё лучше, сделайте в базовом классе конструктор с параметрами.
    Вирутальных конструкторов в C++ нет, но есть один паттерн, поищите какой.

    class Foo
    {
    public:
        Foo(int a1, int a2)
            : m_a1(a1)
            , m_a2(a2)
        {}
    
    protected: // Если необходим доступ в потомках, в остальных случаях private
        int m_a1;
        int m_a2;
    };
    
    class Bar : public Foo
    {
    public:
        Bar(int a1, int a2)
            : Foo(a1, a2)
        {}
    };


    PS
    Пользуйтесь #pragma once, деструктор в базовом классе должен быть виртуальным (не всегда... но пока просто делайте всегда), не смешивайте стили, не пишите имена транслитом.
    Ответ написан
    3 комментария
  • Как экспортировать текст программы в word?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    По договору достаточно передать исходный код проекта.
    UPD1: Для подготовки в документированном виде doxygen в помощь.
    Ответ написан
    Комментировать
  • Как объединить массивы на c++?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Использовать std::vector и его метод append в частности.
    Ответ написан
    2 комментария
  • Есть ли патенты на персонажей американских мультфильмов?

    @Rustamovich
    Мне кажется ответ вполне очевиден =) Авторские права принадлежат Диснею (иным студиям), приложение не допустят ни в один стор.
    Ответ написан
    Комментировать
  • Как сгенерировать загадку эйнштейна?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Комбинаторику вместе с теорией графов. И немножко математической логики.
    Ответ написан
    Комментировать
  • Как заставить монтажников убрать скрутки в подъезде?

    opium
    @opium
    Просто люблю качественно работать
    С вашими руками вам проще самому это сделать.
    Ответ написан
    1 комментарий
  • Оптимальный выбор ВУЗа в сфере IT?

    StranikS
    @StranikS
    web разработчик
    На данный вопрос, можно сразу дать ответ в стиле "В России нет ВУЗов, которые могли бы подготовить тебя достойно к вступлению в IT рынок".

    Пока ты будешь зубрить материал с учебников от 89-99 годов, реальная ситуация прыгнет так, что после того как ты выйдешь из ВУЗа ты будешь чувствовать себя "Тупым"

    Я думаю что изначально, ты неправильно сформировал вопрос. Подумай не над тем, в какой ВУЗ тебе нужно поступить, а над тем, чем ты собираешься заниматься в жизни. Быть успешным сотрудником в какой либо компании или начать свой IT бизнес или как и сотни других алая специалистов с дипломами без опыта ходить и биться лбом о закрывающиеся перед тобой двери работодателя.

    В 99% на данный момент, статус твоего диплома не играет никакой роли. Когда я в СПб искал работу web разработчиком, работодателя интересовал мой опыт, а не бумага.

    Когда ты сможешь правильно сформировать вопрос, ты сразу поймешь на что тебе следует потратить следующие свои 5 лет жизни!

    Прошу понять меня правильно, я не хочу отговорить от вышки, хотя бы для общего жизненного опыта она нужна, да же если вышка не полная. Это как минимум появление способности вылазить из полной жопы и развитие усидчивости + общение с людьми.

    Просто сразу пойми одну вещь, если тебе кто то говорит что в МСК или в СПб или еще где есть ВУЗ который просто ваще пипец крут крут крут и там профессора и так далее, все это пиар. Я учился 2007-2013 как раз момент активного развития различных сфер IT рынка. Все пары сводились к тому, что препод стоял у доски и читал лекцию с учебника от 88 года по Delphi 7. Pascal был приделом мечтания, а C/C++ преподавали на уровни 1+1=2 про web разработку вообще молчу, круче ie6 на краном XP и html - js - php на уровне 2+2=4 ничего не было.

    По этому я бы н твоем месте сделал бы так, взял како нибудь средний ВУЗ по IT с не высокой нагрузкой на голову и все остальное время абсолютно все свое время кинул бы на гугления современных трендов в IT и их изучение, по прошествию 5 лет у тебя будет и диплом и подкованность в текущей ситуации IT рынка. Еще будет огромным плюсом если за эти 5 лет пока учишься ты еще будешь пробовать какие либо свои проекты, только не в рамках универа, потому что все что ты делаешь в универе является собственностью универа!

    Ну вот наверное как то так )))
    Ответ написан
    5 комментариев
  • Какую C++ библиотеку для работы с сокетами посоветуете?

    @vilgeforce
    Раздолбай и программист
    ws2_32.dll
    Ответ написан
    Комментировать
  • Каким путем развиваться как специалист в геймдеве?

    @mamkaololosha
    Тут есть одна проблема:"Вы не умеете программировать". Серьезно. Игры делают ~70 человек на протяжении ~3х лет. Применяя ~7 (C++/C, C#, Java, Python/Lua, simd/asm, ActionScript, bash/cmake/make/scons) языков программирования и скриптовых языков параллельно. Технологии меняются очень быстро. Раз в 3-5 лет всё меняется. Если не кардинально, то достаточно, что бы садиться за учебники опять. Учите классический Computer Scince, алгоритмы/структуры данных, GoF. Тонкости технологий будете учить на месте.
    www.targem.ru/vakansii/#job184
    Ответ написан
    2 комментария
  • "Запасная" профессия для программиста?

    sabramovskikh
    @sabramovskikh
    Увы, работа вам больше не понадобиться. Нужно будет делать абсолютно все, что можете и не можете. Искать еду и выживать. Просмотрите Беара Грилза
    Ответ написан
    Комментировать
  • "Запасная" профессия для программиста?

    kumaxim
    @kumaxim
    Web-программист
    Итак, сети нет, вокруг полно голодных бандитов с кольтами/калашниковыми. Пусть этот контингент будет основным клиентом(а их будет много, как мне видится). Для начала нам нужно завербовать с десяток таких ребят. Как? Думаю я служил с кем-то, с кем-то врагов бил, в общем берем своих людей в дело.
    Далее, вспоминаем, что кушать-то всем хочется... Следовательно нужно где-то достать как-минимум хлеба. Цепочка хлеба примерно такая: поле - пшеница - элеватор - мельница - пекарня - лавка магазина.

    Поле - тяжело ли найти кусок пригодной земли?
    Пшеница - посеять на поле и убрать - тяжело, но сильной подготовки не нужно
    Элеватор - в примитивном случае - амбар
    Мельница - пару жернов + пленные враги = мука
    Пекарня - костер и формы да дело в шляпе
    Магазин - прилавок и кассовый аппарат

    Собственно садись на любом этапе цепочки. Тут ты и братков своих сможешь прокормить и сам не помрешь да еще и бизнес иметь будешь.
    Ответ написан
    Комментировать
  • В чём польза readonly полей в C#?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Значения полей readonly можно менять динамически, в конструкторе класса. Последующие изменения невозможны.

    public class MyClass
    {
    
      public readonly int Value = 0;
    
      public MyClass()
      {
        this.Value = 123;
      }
    
    }


    Для чего это использовать - зависит от фантазии.

    Например, можно создать класс User и сделать readonly поле, содержащее идентификатор пользователя. Таким образом, идентификатор пользователя можно будет указать только при инициализации класса и, в последующем, изменить его будет невозможно. Это позволит избежать проблем в логике, которые еще предстоит придумать :-)

    Если сравнивать со свойствами и константами, то значения readonly свойств могут меняться в процессе жизненного цикла класса. Значения readonly полей, как уже было сказано ранее, можно указывать только при объявлении и в конструкторе класса.

    Значения констант являются фиксированными и изменять их программно невозможно. Количество типов для констант ограничено, в то время как поля могут иметь любой тип. Константы являются статическими, а поля не обязаны быть таковыми. В этом плане, readonly поля более гибкие, чем константы.

    В дополнение, немного кода (Console Application):
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Timers;
    using System.Threading;
    
    namespace ConsoleApplication20
    {
    
      class Program
      {
        static void Main(string[] args)
        {
          // создаем экземпляр класса
          var t = new Toster(199065);
          // выводим значение константы ProjectName
          // доступ только через Toster
          Console.WriteLine(Toster.ProjectName);
          // доступа к локальным константам здесь нет
          // Toster.CounterPattern
          // t.CounterPattern
    
          // выводим заголовок вопроса
          Console.WriteLine(t.Title);
    
          // бесконечность - не предел!
          while (true)
          {
            // t.Id = 123;
            // мы не можем поменять идентификатор
            // следовательно, этот код, логически, будет работать правильно
    
            // выводим число ответов
            Console.WriteLine("Ответов: {0}", t.AnswersCount);
    
            // t.AnswersCount = 123
            // мы не можем менять значение readonly свойства,
            // но оно может меняться внутри экземпляра класса
    
            // пауза 10 сек.
            Thread.Sleep(10000);
          }
        }
      }
    
      public class Toster
      {
    
        // публичная константа, доступ через Toster
        public const string ProjectName = "Тостер";
    
        // локальная константа, доступна только в рамках этого класса
        const string CounterPattern = "<span class=\"section-header__counter\" role=\"answers_counter\">";
    
        // публичные поля только для чтения
        // значение может быть установлено в конструкторе
        public readonly string Title = "Нет данных";
        public readonly int Id = 0;
        
        // свойство только для чтения
        // значение может меняться в процессе жизни экземпляра класса
        // при помощи локальной переменной
        private int _AnswersCount = 0;
        public int AnswersCount
        {
          get
          {
            return _AnswersCount;
          }
        }
    
        // это просто таймер
        private System.Timers.Timer Timer = null;
    
        // а это конструктор<s>, но не Lego</s>
        public Toster(int id)
        {
          if (id <= 0) { return; }
          
          // получаем вопрос
          var web = new WebClient();
          web.Encoding = Encoding.UTF8;
          var result = web.DownloadString(String.Format("https://toster.ru/q/{0}", id));
          // из шаблона url тоже можно сделать константу
          // либо в классе можно сделать readonly свойство, 
          // которое будет на лету формировать итоговый адрес:
          // return String.Format("https://toster.ru/q/{0}", this.Id)
    
          // устанавливаем значения для полей
          this.Id = id;
          this.Title = WebUtility.HtmlDecode
          ( 
            result.Substring
            (
              result.IndexOf("<title>") + "<title>".Length,
              result.IndexOf("</title>") - result.IndexOf("<title>") - "<title>".Length
            )
          );
          // выдергиваем число ответов на вопрос
          this.ParseAnswersCount(result);
    
          // запускаем периодическую проверку <s>Менделеева</s>
          Timer = new System.Timers.Timer(10000);
          Timer.Elapsed += Timer_Elapsed;
        }
        
        // обработчик истечения интервала времени 
        private void Timer_Elapsed(object sender, EventArgs e)
        {
          var web = new WebClient();
          web.Encoding = Encoding.UTF8;
          var result = web.DownloadString(String.Format("https://toster.ru/q/{0}", this.Id));
          this.ParseAnswersCount(result);
        }
    
        // выдергиватель количества ответов
        private void ParseAnswersCount(string value)
        {
          int startstart = value.IndexOf("Ответы на вопрос");
          int start = value.IndexOf(CounterPattern, startstart) + CounterPattern.Length;
          int len = value.IndexOf("</span>", start) - start;
          _AnswersCount = Convert.ToInt32(value.Substring(start, len));
        }
        
      }
    
    }
    Ответ написан
    Комментировать
  • С помощью чего писать игру на C#?

    @JackBoner
    Знать Unity это определенно круче, чем знать MonoGame. Ну и смотря что за игра. MonoGame не пробовал, но вот 2D в Unity мне очень понравился.

    Решили делать первую игру - и сразу MMORPG? Уверены что осилите? Там ведь надо ещё и сервер писать. У юнити, кстати, тоже есть есть много готовых фич для работы с сервером.
    Ответ написан
    1 комментарий
  • Почему все новые устройства такие медленные?

    @onepavel
    Консультация и разработка мобильных приложений
    Раньше писали нативные приложения, не было виртуальных машин, фреймворков, DI и рефлексии в целом, не было 100500 сервисов проверяющих фейсбуки и твиттеры. У меня был палм от сони, черно-белый экран и никакой анимации. Ну и конечно качество кода упало.
    Ответ написан
    Комментировать
  • Вопрос касательно C#?

    @raincons
    Мне кажется, тут больше подходит Dictionary<string, string>
    Ответ написан
    Комментировать
  • Куда переехать для создания команды

    Cyapa
    @Cyapa
    А как вам Новосибирск, например? Технических ВУЗов валом, уровень образования хороший, одни только НГУ и НГТУ чего стоят. Программистов тоже полно, много хороших компаний. Цены приемлемы, квартиру можно найти за пару дней. Инфраструктура хорошо развита, крупнейший город России как ни как. Ну и, как плюс, гостей из южных стран практически нет.
    Ответ написан
    4 комментария