• (С++) Метод класса, как callback функция. Как реализовать наилучшим образом?

    nekipelov
    @nekipelov
    Поддерживается частично. И если я не путаю, bind и function там должны быть.
  • В последнее время появилось много критики Монго. С чем связано это?

    nekipelov
    @nekipelov
    Ты уверен, что достаточно долго программируешь на C++, чтобы считать такой код грамотным?

    1. Я говорю не о сервере, а о библиотеке BSON для работы с mongo.

    2. Assert никогда не останавливает программу в случае release сборки. Это проверка утверждения, которая срабатывает только в отладочной сборке. Где ты видел, чтобы на сервере использовались отладочные сборки? Поэтому нормальная практика делать вот так:

    assert( ptr != nullptr );
    if( ptr ) 
    {
        ... 
        // code
    }
    


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