Список статей в категории C++

Decode video with FFmpeg

Decode video with FFmpeg

This Article describes how to use FFmpeg to decode media file. You can get frames and audio by using code from this article. Also it contains sample on C++. Читать...

Теги: C++ Видео FFmpeg English

Encode file with FFmpeg

Encode file with FFmpeg

This article contains example of using FFmpeg to encode media file. Sample program creates video file with video and sound tracks. Читать...

Теги: C++ Видео FFmpeg English

Использование FriBiDi

Если вы разрабатываете приложение, где работаете с двунаправленным текстом (например русским и арабским), то вам поможет библиотека FriBiDi.

Основные функции:

  /* Анализ входного текста */
  fribidi_get_bidi_types
  fribidi_get_par_embedding_levels
  /* Рассчёт выходной строки */
  fribidi_get_joining_types
  fribidi_join_arabic
  fribidi_shape
  /* Позиционирование */
  fribidi_reorder_line

http://lists.freedesktop.org/archives/fribidi/2008-January/000515.html

Теги: C++ Работа с текстом

fatal error C1859 в VS 2008

Если используя precompiled header в Visual Studio 2008 вы столкнулись с проблемой:

fatal error C1859: 'Precompiled.pch' unexpected precompiled header error, simply rerunning the compiler might fix this problem.

То не стоит расстраиваться вам необходимо скачать и установить: Fix for Visual C++ 2008 SP1 compiler error C1859 или SP1

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=25785

http://www.microsoft.com/ru-ru/download/details.aspx?id=10986

Теги: C++

dynamic_cast ошибка C2683: is not a polymorphic type

Если при использовании dynamic_cast вы ловили ошибку компиляции C2683, то вам необходимо просто добавить к классу виртуальную функцию или деструктор.

class Base1{};
class Base2
{
virtual ~Base2() {;}
};
class A : public Base1{};
class B : public Base2{};
Base1* pBase1 = new Base1();
Base2* pBase2 = new Base2();
A* pA = dynamic_cast(pBase1); // error C2683: 'dynamic_cast'
// : 'Base1' is not a polymorphic type
B* pB = dynamic_cast(pBase2); // OK

Теги: C++ Ошибки

C++ оператор запятая (,)

В C++ можно перегружать оператор , (запятую) и выглядит это так:

template inline CommaInserter operator,(V const &value)
        { container.insert(container.end(), value); return *this; }

Если хотите узнать подробнее об это, то можно прочитать тут:

http://iproc.ru/programming/cpp-comma-operator/

Теги: C++