deque یکی از سرآیندهای مفید در برنامه نویسی با زبان C++ محسوب می شود این سرآیند به سرآیند Vector شباهت دارد هرچند کاربرد آن به شدت سرآیند vector نمی رسد و در شرایط عادی توصیه می شود از سرآیند Vector استفاده شود.

برای معرفی deque به برنامه کافیست در ابتدا برنامه سرآیند مربوطه را وارد کنیم:

#include <deque>;

ب روش های مختلفی می توانیم یک شی از نوع deque در برنامه استفاده کنیم:

deque<int> first;
// یک شی خالی از دیکیو می سازد به نحوی که تمام خانه های شی از نوع عددی باشد
deque<int> second (4,100);
// در شی ساخته شده چهار عدد با مقدار صد قرار می گیرد
deque<int> third (second.begin(),second.end());
// برای ساخت یک دیکیو می توانیم نقاط ابتدا و انتهای یک دیکیو دیگر را قرار دهیم
deque<int> fourth (third);
// در هنگام ساخت می توانیم ب طور مسقیم کل یک دیکیوی دیگر را در شی تازه قرار دهیم

البته این همه چیز نیست!

در مثال بالا تمام deque ها را از نوع Int ساختیم در حالی که به جای عبارت int می توانیم از تمام انواع (types) مجاز در زبان c++ استفاده کنیم.

مثلا: اگر از  deque استفاده کنیم در شی ساخته شده تمامی خانه ها از نوع رشته هستند.

البته روش های ترکیبی مختلفی میشه استفاده کرد برای مثال تابع second در مثال قبل را نگاه کنید؛ می توانیم ب جای درج نقاط ابتدایی و انتهایی یک deque نقاط ابتدا و انتهایی یک آرایه یا هرچیز دیگر ( ب شرط هم نوع بودن با deque در حال ساخت ) را قرار دهیم:

int myints[] = { 16, 2, 77, 29 };
deque<int> fifth(myints, myints + sizeof(myints) / sizeof(int));

همان طور که احتمالا می دانید در آرایه ها نام آرایه در نفش اشاره گر ظاهر شده و ب خانه ی اول اشاره می کند، برای همین در متغیر اول تعریف deque عبارت myints را ب کار بردیم.

در مثال بالا می توانیم مشاهده کنیم که ک تعداد خانه های آرایه ۴ است، ولی ممکن است در برخی از کدها مقدار خانه های آرایه برای ما مشخص نباشد برای همین در انتخاب متغیر دوم تعریف از عبارت sizeof(myints) و sizeof(int) استفاده کردیم تا در کامپایلرهای مختلف جواب ما یکسان باشد، sizeof(myints) سایز آرایه را محاسبه می کند و با تقسیم بر سایز int در کامپایلر تعداد خانه های آرایه را برمی گرداند! اکنون عدد به دست آماده را با اشاره گر مربوط ب خانه اول (myints ) جمع می کنیم و نتیجه ی حاصل به خانه ی آخر آرایه اشاره می کند!

برای چاپ deque روش های مختلفی وجود دارد در اینجا به یکی از ساده ترین روش ها بسنده می کنیم:

for (int i = 0; i &lt; deq.size(); i++)
cout << deq[i];

در عبارت بالا حلقه از خانه ابتدا شروع می کند و تا زمانی ک به انتهای آن نرسیده مقادیر خانه ها را چاپ می کند.