Задать вопрос
  • Как сделать программу генерация предложений?

    @vilgeforce
    Раздолбай и программист
    как сделать будет лучше написать как не работает.
    Ответ написан
    Комментировать
  • Вопрос касательно C#?

    using System;
    using System.Collections.Generic;
    
    namespace ListKeyValuePair
    {
    	class Program
    	{
    		public static void Main(string[] args)
    		{
    			List<KeyValuePair<string, string>> lkvp = new List<KeyValuePair<string, string>>();
    			
    			lkvp.Add(new KeyValuePair<string,string>("pdo", "somedata"));
    			lkvp.Add(new KeyValuePair<string,string>("for", "somedata1"));
    			
    			foreach (KeyValuePair<string, string> kvp in lkvp)
    			{
    				
    				Console.WriteLine("Key= {0}, Value= {1}", kvp.Key, kvp.Value);
    			}
    			
    			Console.Write("Press any key to continue . . . ");
    			Console.ReadKey(true);
    		}
    	}
    }

    как можно сделать чтобы можно было вводить
    data["for"]toString() чтобы возвращала somedata1

    если хотите именно так - используйте словарь (класс Dictionary), пример:
    public static void Main(string[] args)
    		{
    			Dictionary<string, string> dictionary = new Dictionary<string, string>();
    		
    			dictionary.Add("cat", "animal");
    			dictionary.Add("shark", "fish");
    			
    			Console.WriteLine(dictionary["cat"]);	
    			Console.ReadKey(true);
    		}
    Ответ написан
    Комментировать
  • С чего начать изучать C#?

    God-emperor
    @God-emperor
    create a golden path
    Мне понравилась книга Эндрю Троелсона. Как мне кажется - подойдёт
    Ответ написан
    1 комментарий
  • Можно ли перегружать базовые типы в С++?

    @MiiNiPaa
    Нет, нельзя. В вашем случае можно написать свой компаратор и передать его шаблонным параметром в ваше дерево.
    Если оно не поддерживает кастомных компараторов, добавьте поддержку, это очень полезно.
    Ответ написан
    3 комментария
  • Как сделать копию структуры?

    Ocelot
    @Ocelot
    Забыли задать размерности для второй матрицы. Элементы копируются, а свойства n и lines - нет.
    Ответ написан
    Комментировать
  • Как работать со статическими ссылками в C++?

    Adamos
    @Adamos
    Лучше переделайте на такой вариант:
    static QSqlDatabase* getPDB()
    {
      static QSqlDatabase *pdb = NULL;
      if(pdb == NULL) {
        pdb = connect();
      }
      return pdb;
    }

    Ну, соответственно, connect должно создавать это самое соединение и возвращать тот самый указатель.
    И никаких глобальных членов класса...
    Ответ написан
    3 комментария
  • Как работать со статическими ссылками в C++?

    maaGames
    @maaGames
    Погроммирую программы
    QSqlDatabase * DB::pdb = NULL;
    Ответ написан
    Комментировать
  • Зачем нужны Dependency containers?

    FirstX
    @FirstX
    .net developer
    Для того, чтобы отделить мух от котлет.

    Представь, что у тебя условно есть 3 отдела. И все они между собой очень тесно связаны. Ну не могут работать друг без друга и все тут. В итоге захотел поменять что-то во втором отделе, будь добр поменяй и в остальных двух, ибо они от него напрямую зависят.

    Первое, что приходит в голову - создание абстрактных интерфейсов, через которые все взаимодействие и происходит. Ок, создали. Но абстрактные интерфейсы делать ничего не могут, на то они абстрактные. Значит где-то нужно явно создавать реализацию для этой абстракции. Становится вопрос где это делать. Создавать внутри одного класса - экземпляры другого, это уже тоже сильная связанность между ними. Для этого и придумали ящик, где будут храниться все соответствия между интерфейсами и реализациями. Захотел получить реализацию такого-то интерфейса, попросил ответственного менеджера, он сам заглянул в свой ящик и вытащил то, что тебе требуется. И назвали это все Контейнер Зависимостей (Dependency Container). То есть это конкретный инструмент для создания слабых связей между модулями.

    Ну а слабая связанность модулей и абстракции между ними дают всякие полезные фишки по типу быстрого переключения между реализациями (например реальное/тестовое окружение), позволяет проще рефакторить отдельные модули и так далее.
    Ответ написан
    Комментировать
  • Почему метод GetEnumerator() интерфейса IEnumerable реализовывается дважды?

    FirstX
    @FirstX
    .net developer
    Для ответа на этот вопрос надо окунуться в историю. А именно был момент, когда не было Generic-типизации и был только нетипизированный интерфейс перечисления IEnumerable. А потом с приходом новой версии .Net появились обобщения (это когда явно указывается тип <T>, в твоем случае тип данных <Product>).

    Сигнатура этого интерфейса выглядит следующим образом:
    public interface IEnumerable<out T> : IEnumerable

    То есть для обратной совместимости, новый интерфейс наследует старый, а значит и метода нужно реализовать два: один, который возвращает старый нетипизированный вариант, и новый, более удобный типизированный вариант.

    Для понимания: в старом варианте, когда ты обходил в цикле каждый элемент через foreach - тип элемента был object (все другие типы от него унаследованы). И на каждой итерации, чтобы получить свой тип Product и работать с ним - приходилось делать приведение типов.
    В новом варианте, благодаря тому, что явно указан тип <Product> при обходе в цикле - ты сразу получаешь объект типа Product.

    Рекомендую по этой теме почитать вообще изменения в .Net при переходах с версии на версию + почитать про Generic в дотнете.
    Ответ написан
    Комментировать
  • Как научиться программировать, если доступен лишь браузер?

    Kublyakov
    @Kublyakov
    https://c9.io/ - мощная онлайн IDE в браузере. Для практики, при изучении веб технологий подойдет отлично.
    Ответ написан
    Комментировать
  • Как научиться программировать, если доступен лишь браузер?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    писать код js/html(5)/css можно в любом текстовом редакторе и проверять локально
    (если только там не ajax, websockets и т.д.).

    рынок ТОЧНО перенасыщен "говнокодерами"
    а вот СПЕЦИАЛИСТАМИ - вряд ли)
    Ответ написан
    Комментировать
  • Дети и интернет: как контролировать?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Есть предложение детей натурально воспитывать, а не отдавать этот процесс на аутсорс интернету.

    Из комментария vilgeforce
    Критическое мышление прививайте, тогда вопрос дезинформации и какой либо морали будет волновать вас гораздо меньше.
    Ответ написан
    16 комментариев
  • Как выбрать узкую специализацию?

    @Inav
    Для начала нужно спуститься на землю, умею плохо - это не умею, это знаком, видел, имею представление. У вас по каждой из перечисленных областей есть несколько хороших вакансий куда вас берут работать? - Скорее всего нет. Нужно выбирать работу, а не область. Идите туда, где вас устраивают задачи, деньги и куда вас берут. Дальше растете в той области, которую требует ваша работа. А все остальное "вкусное" уходит в раздел хобби, программирования для себя и участия в опенсорс проектах.
    Ответ написан
    2 комментария
  • Как выбрать узкую специализацию?

    @Shetani
    Напишите на бумажках что нравиться и вытащите одну (когда будете вытаскивать узнаете чего хотите больше).
    Ответ написан
    Комментировать
  • Как открыть исходники проекта в Visual Studio если нет sln файла?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Там есть файлы CmakeList.txt это означает что нужно пользоваться cmake. Он может сгенерировать sln и vsproj файлы с описанием проекта. Причем структура папок это не главная проблема. В CmakeList.txt хранится информация о зависимостях, переменных окружения.
    Ответ написан
    2 комментария
  • Почему появляется System.AccessViolationException в Visual Studio 2010?

    AxisPod
    @AxisPod
    Зачем здесь .NET вообще? Зачем вообще вы создаете проекты C++/Cli, если вам это не надо? Зачем вам CLR проект, делайте Win32, тогда понять вас будет проще и как бы не будут вылетать ошибки непонятные вам. Что-то слабо верится, что в указанной вами книге просят создавать CLR проекты. А с переводами на Русский частая проблема, так это множество опечаток.
    Ответ написан
    Комментировать
  • Почему появляется System.AccessViolationException в Visual Studio 2010?

    @vilgeforce
    Раздолбай и программист
    Попробуйте char * str = "Hello"; заменить на char str[] = "Hello";
    Подозреваю, что строка "Hello" при сборке помещается в секцию без прав на запись, вы этот указатель используете и пытаетесь в ту самую RO область писать.
    Ответ написан
    1 комментарий
  • QT OpenGL как отрисовать линию массивом?

    Копипаст это плохо(если не знаешь, что копипастиш)!
    -glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0);
    +glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);

    Вы рисуете линии, следовательно, нужно только 2значения из буфера, а не 4. Подозреваю, что в примере рисовали квадраты:)

    З.Ы. Тестировал в OpenTK, все заработало.

    UPD. Извиняюсь за задержку как-то долго я не заходил в linux. Возможно я опоздал, но все равно код будет полезет тем кто прийдет сюда из гугла. Тестировал я ваш код таким образом:
    #include "widget.h"
    
    Widget::Widget(QWidget *parent)
        : QOpenGLWidget(parent)
    {
    }
    GLuint VBO;
    GLfloat arr[4];
    
    void Widget::initializeGL()
    {
        glewExperimental = true;
        glewInit();
        glClearColor(0,0,0,1);
        glColor3f(1,1,1);
    
        arr[0] = -1;
        arr[1] = -1;
        arr[2] = 1;
        arr[3] = 1;
    
        glGenBuffers( 1, &VBO);
        glBindBuffer(GL_ARRAY_BUFFER, VBO);
        glBufferData(GL_ARRAY_BUFFER, sizeof(arr), arr, GL_STATIC_DRAW);
        glEnableVertexAttribArray(0);
    }
    
    void Widget::paintGL()
    {
        glClear(GL_COLOR_BUFFER_BIT);
        glLoadIdentity();
    
        glColor4f(1.0f, 0.0, 0.0, 1.0);
        glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);
    
        glDrawArrays(GL_LINES, 0, sizeof(arr));
    }
    
    void Widget::resizeGL(int w, int h)
    {
        glViewport(0,0,w,h);
    }
    Ответ написан
    4 комментария
  • Какое направление более перспективно?

    hePPer
    @hePPer
    3 - по поводу перспектив - дела через Н лет могут быть плохи в любой компании, хоть в большой, хоть не очень...
    1, 2 - у .Net разработчиков как правило хорошая зарплата, да и вообще, у опытных программистов хорошая зарплата.
    я думаю в вашем случае надо ориентироваться на то, чем вам больше нравиться заниматься, как говориться "любимым делом можно заниматься и дома в подвале" а если везде платят, то зачем выбирать то что " не очень нравиться".
    Ответ написан
    Комментировать
  • Чем плох enum в C#?

    AxisPod
    @AxisPod
    Вот выпытайте чем плох, как-то даже интересно стало. Или плох тем, что в отличии от большинства языков программирования ему можно присвоить значение которого в нём не объявлено? Но это видимо было сделано в угоду FlagsAttribute. Другого даже не могу предположить.
    Ответ написан
    2 комментария