• Можно ли узнать из функции указатель на переменную, куда она возвращает значение, без явного указания его в параметрах О_о?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Можно ли узнать из функции указатель на переменную, куда она возвращает значение

    В общем случае -- нет. Если возвращаемое значение -- примитивный тип или маленькая структура (влезающая в 1 - 2 регистра, в зависимости от ABI), то это значение возвращается в регистре/регистрах и может вообще нигде не записываться в память. Если возвращается большая структура, то адрес, по которому она должна быть записана, передаётся в функцию как дополнительный скрытый параметр.
    Ответ написан
    3 комментария
  • Как урезать свой перфекционизм?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    Чтобы перестать делать лучше то, что ещё не сделано до конца, нужно понять одну простую истину: Запущенный проект лучше, чем не запущенный.

    Давайте потренируемся:
    • Что лучше: запущенный проект с несжатыми стилями или незапущенный со сжатыми?
    • Что лучше: не запущенный проект с десятью страницами или запущенный с тремя?
    • Что лучше: запущенный проект c jQuery или не запущенный без jQuery?


    Надеюсь, вы смогли выбрать! Как узнать, что пора запустить проект? (Под запуском я имею в виду «показать людям». Например, если вы решили написать библиотеку, давайте считать «проект запущенным», если вы выложили её на гитхаб) Нужно прикинуть, сколько времени вам надо на разработку и умножить на два. Если получилось больше двух недель, то стоит разбить проект на части и прикинуть так про каждую часть. Соответственно, ставите дедлайны.

    Промежуточные дедлайны помогают успеть к последнему. Старайтесь сначала реализовать основную функциональность, а потом дополнительную. Если не успеете к дедлайну доделать дополнительное — сначала запустите основное, а потом видно будет, надо ли вообще доделывать дополнительное.

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

    Удачи!
    Ответ написан
    4 комментария
  • Я хочу хорошую библиотеку на PHP для MySQL. Я зажрался, или такое есть и активно используется?

    trevoga_su
    @trevoga_su
    Я хочу хорошую библиотеку на PHP для MySQL
    Нет ни ActiveRecord

    Вы определитесь, Вам автомобиль нужен или ящик с запчастями, из которых можно собрать автомобиль.
    Библиотека для работы с СУБД должна предоставлять ТОЛЬКО возможность работать с СУБД, с SQL и не более.
    Active-Record - это уже должен быть слой выше. Построитель запросов - отдельная сущность.

    Самая распространенная ошибка изобретателей библиотек в том, что они пишут все в кучу и в конце-концов выходит черте что.

    Моя обертка - www.phpinfo.su/articles/additionally/klass_dlja_be...
    Ответ написан
    3 комментария
  • Как реализовать очередь объектов класса на C++?

    @evgeniy_lm
    Зачем создавать след. карту? У вас в классе след. карта объявлена как указатель, т.е. если карта последняя то указатель указывает в никуда, это так же может быть признаком последней карты. Вот кода вы создаете новую карту тогда в поле next "старой последней карты" записываете указатель на экземпляр "новой последней карты"
    Ответ написан
    Комментировать
  • Что читать дальше?

    GavriKos
    @GavriKos
    Без практики читать бесполезно.
    Берите себе какую то задачу, пробуйте реализовать, параллельно читайте что то умное.
    Ответ написан
    4 комментария
  • Неявное наследование private ?!?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    А что в этом такого? Вы сделали виртуальный метод с реализацией. Затем унаследовали класс, не переопределив метод. Метод публичный. То, что он внутри обращается к приватным полям - без разницы. Приватные поля содержатся в наследнике, просто они ему не доступны.
    Ответ написан
    Комментировать
  • Как заставить работать 433Мгц брелок и реле?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Сильно жирно пихать цифровую электронику туда где лучшим выбором будет обычная логика.
    Ваш вариант это RS триггер,

    Для затравки ;)
    mastercity_54d8366c6dd3d328501b6da9e73e8

    Хотя конечно зависит от того что вы имеете на выходе с приёмника.
    Ответ написан
    3 комментария
  • C++, не найден конструктор по умолчанию,в чем проблема?

    @MiiNiPaa
    Fl_Window(x,y,w,h,t.c_str()); Здесь вы создаёте временный локальный объект типа Fl_Window. Это точто то, что вам надо?

    Если вы хотите инициализировать базовый класс, делайте это в списке инициализации:
    mainWindow(int w, int h, int x, int y,const string& t) : Fl_Window(x,y,w,h,t.c_str())
      {}
    Ответ написан
    4 комментария
  • Что значит строка кода?

    А что за библиотека используется? Это в начале кода, должно быть.
    Ответ написан
    3 комментария
  • Что нужно для проветривания теплицы?

    tooree
    @tooree
    altruist, introvert, vegetarian
    Найдите книгу Курдюмова "Умная теплица" - в ней описано как такое сделать вообще без применения электрики: при повышении температуры расширяется жидкость и открывает форточку гидравлическим приводом. И закрывает, соответственно, при охлаждении. Простейшая система, не требующая обслуживания и внешнего питания.
    Ответ написан
    Комментировать
  • Как работает программа?

    Olej
    @Olej
    инженер, программист, преподаватель
    Это элементарно из синтаксиса C: в макросах #arg - не разрешать значение arg.
    Во втором случае C(A) разрешает аргумент A ещё до вызова B(A).

    P.S. Только тэги пишите правильно - это C, а не C++ !
    Ответ написан
    7 комментариев
  • Какую C++ библиотеку для работы с сокетами посоветуете?

    AxisPod
    @AxisPod
    libev, libevent, libuv, boost::asio
    Ответ написан
    Комментировать
  • Оправдано ли сегодня изучение C++?

    @fintank
    Не надо учить C++. Чем больше новых программистов на C++, тем меньше зарплата у старых!
    Язык наибольших возможностей. Любишь возможности - полюбишь C++.
    А если любишь не возможности, а только "результаты" и "деньги" - не полюбишь.
    Ответ написан
    Комментировать
  • Как продвигать github аккаунт?

    laska
    @laska
    PHP/JS разработчик
    Пока у вас нет хорошего open-source проекта, абсолютно бессмысленно вам что-то советовать.
    Топовые аккаунты на гитхабе это не аккаунты замечательных людей. А аккаунты замечательных программ.
    Ответ написан
    Комментировать
  • Интересна ли платформа для разработки сайтов на C++?

    Лично мне был бы интересен подобный проект, если open source то мог бы поучаствовать даже.
    Однако, некоторые моменты вызывают сомнения.
    1. Зачем FastCGI? Это лично мое IMHO, но он уродлив и отжил свое. Может лучше писать свой сервер(на базе libuv или boost asio, например). Если от FastCGI избавляться не хотите, то советую посмотреть на решение програмистов из yandex'а Fastcgi-Daemon. Чем ваше будет лучше?
    2. DTL как формат или вы python будете встраивать? Просто это странно, зачем проседать в производительности здесь, когда существуют плюсовые шаблонизаторы, Mustashe как пример
    3. В скриптовых контроллерах как-то не особо смысл вижу.
    У меня была идея реализовать что-то подобное nodejs express на плюсах со слоеной архитектурой и асинхронными обвязками для сокетов, БД и т.д.
    Для сопутствующих файлов использовать qrc из Qt, тогда деплоиться это будет как одна монолитная so'шка.
    Правда пока это так и осталось на уровне идеи...
    Ответ написан
    2 комментария
  • Как послать emal через c++ ?

    @azShoo
    stackoverflow.com/questions/7298762/send-email-with-c
    Держите, ни в чем себе не отказывайте, аж вторая по счету ссылка в поисковой выдаче.
    Ответ написан
    Комментировать
  • Почему программа с использованием iostream весит намного больше, чем аналогичная с stdio?

    AxisPod
    @AxisPod
    Ну во-первых компилировать надо в релизе (в вашем случае надо включить оптимизацию, хотя бы O2) и никакой стрип не нужен. А так вы получаете неоптимизированный код, с кучей мусора, но без отладочной информации. В результате получите совершенно другие цифры.

    Во-вторых iostream это шаблонный класс, с множеством различных шаблонных зависимостей. Кода генерируется куда как больше.

    В-третьих код мы не видим и непонятно чего вы там наворотили.

    В-четверых мы не знаем как вы компилируете.

    Сказать могу одно, хотите получить подробный ответ, дайте подробную информацию. А так факторов много, но факт есть, что да, исполняемый файл будет больше.

    P.S. Ну и в-пятых, вам уже сказали про статическую линковку, в этом случае весь необходимый код статически линкуемой библиотеки помешается в исполняемый файл.
    Ответ написан
    2 комментария
  • Как вызвать метод основного класса из другого класса?

    EXL
    @EXL
    Энтузиаст
    Вы снова не изучив базу C++ и документацию по Qt стараетесь решить поставленную задачу с наскока. Язык программирования C++ это не тот язык, где можно использовать такой подход. Вы либо твёрдо знаете основы, либо не знаете совсем ничего.

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

    Примеров в интернете можно найти множество:
    easy-qt.blogspot.ru/2012/10/1.html
    www.cyberforum.ru/qt/thread548059.html
    fkn.ktu10.com/?q=node/3021
    www.prog.org.ru/topic_19557_0.html

    И ещё у вас достаточно странный подход. Форма должна опрашивать логический класс, а не наоборот. То есть ваш не_GUI-класс ничего не должен содержать и дёргать Qt'шного. Вдруг его придётся выносить в отдельную библиотеку, никак не относящуюся к GUI и Qt?

    Настоятельно рекомендую посмотреть примеры приложений, идущие с Qt. Там вы найдёте все ответы на свои вопросы и методы построения правильной архитектуры приложения.
    Ответ написан
    2 комментария
  • (PHP5) Почему присваивание работает как клонирование?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Нету тут никакой магии с клонированием.

    Для начала давайте разберемся что хранит $instance. Хранит оно ССЫЛКУ на объект а не сам объект. При простом присвоении по значению происходит копирование значения переменной, а оно у нас просто ссылка на объект. В итоге у нас уже две ссылки на один объект.

    При присвоении переменной $reference значения по ссылке, у нас две переменные делят одно и тоже значение. А значение это - ссылка на объект.

    Когда мы затираем ссылку в $instance, то есть мы меняем значение оной, оно же меняется и у $reference так как они делят на двоих одно значение. $assigned же имеет свою ссылку на объект.

    $instance = new SimpleClass(); // количество ссылок на экземпляр SimpleClass - 1
    
    $assigned   =  $instance; // количество ссылок на экземпляр SimpleClass - 2
    $reference  =& $instance; // количество ссылок на экземпляр SimpleClass - 2
    
    $instance = null; // количество ссылок на экземпляр SimpleClass - 1


    Как только у нас не останется ссылок на экземпляр класса, сборщик мусора удалит объект.

    А что до клона - если бы объекты бы копировались, начался бы ад, так как объекты хранят другие объекты, которые могут делить между другими объектами... словом там слишком сложно все становится и пусть уж лучше программист это в __clone сам разруливает.
    Ответ написан
    1 комментарий