Jump to page: 1 2
Thread overview
C++ 11 Boost Kütüphanesi
Oct 26, 2015
İbrahim
Oct 26, 2015
İbrahim
Oct 27, 2015
İbrahim
Oct 27, 2015
İbrahim
Oct 27, 2015
İbrahim
October 26, 2015

Merhabalar;
C++ 11 ile bazı boost dosyaları standart olmuş diye biliyorum. Boost'u sitesinden indirip kullanabiliyorum fakat standartta hangi dosyaları #include ediyoruz (Boost asio)? Tam olarak nette bulamadım.

Teşekkürler!

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 26, 2015

Teşekkürler.
Sanırım Boost.Asio standart olmamış.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 27, 2015

Merhaba;
Eğer Boost asio standart olmadıysa (ki araştırmalarıma göre olmamış, ayrıca derleyicide bulamadım) o zaman şu şekilde #include direktiflerini nasıl çağırmışlar?

#include <iostream>
#include <boost/array.hpp> // -> < ... > içinde
#include <boost/asio.hpp> // -> < ... > içinde

Bu şekilde çağırma bildiğim kadarıyla standart kütüphanelerde oluyor. Çünkü bu kütüphaneler derleyicinin bulunduğu klasörler içinde tutuluyor.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 26, 2015

Tam liste bulamadım ama şurada bir kaç tanesi (belki de tamamı) var:

https://meetingcpp.com/index.php/br/items/c11-and-boost.html

Onları aşağıdaki sitede aratınca başlık dosyaları görülüyor:

http://en.cppreference.com/w/

Örneğin, sağ yukarıdaki Search kutusuna shared_ptr yazınca şu sayfa geliyor:

http://en.cppreference.com/w/cpp/memory/shared_ptr

shared_ptr, başlık dosyasındaymış...

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 27, 2015

Yeni bilgi için teşekkürler. Bununla ilgili bir soru da şu: Mesela , , vs. şeklinde kullanıyoruz. Peki biz kendi yaptığımız dosyayı nasıl böyle kullanabiliriz? Yani biz kendi dosyamızı <code.h> <code.cpp> vs diye çağırıyoruz ama gibi çağıramıyoruz.

  1. soru: Kodlarda işaretçiler (mesela int* a;) yerine akıllı işaretçiler (mesela QPointer a(new int); veya standart c++ akıllı işaretçileri) kullansak hız, güvenilirlik vs. sorunlar oluşur mu?

  2. olarak da Windowsta şu kod çıktı verirken Linuxta yani g++'da çıktı vermiyor, neden olabilir?

void reverse(char* str)
{
 for (int i; i < strlen(str); i++)
 {
   char c = str[i];
   str[i] = str[strlen(str) - i - 1];
   str[strlen(str) - i - 1] = c;
 }
}

int main()
{
 char* str;
 cin >> str;
 cout << str << endl;
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 27, 2015

Ne kadarının Boost'tan geldiğini bilmiyorum ama o konuda yenilikler var:

https://en.wikipedia.org/wiki/C%2B%2B11#Threading_facilities

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 27, 2015

Yani mesela iostream dosyasına bakıyorum .h, .cpp vs. uzantısı yok. Biz de mi uzantı koymayalım?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 27, 2015

(Not: Bu konu tamamen C ve C++ ile ilgili.)

Eskiden ben de öyle sanıyordum: standartsa açılı parantez, standart değilse çift tırnak diye biliyordum.

Tek fark, derleyicinin o başlıkları nerelerde ve hangi yöntemle aradığıymış. Şimdi aratınca, standardın 6.10.2 bölümünde olduğunu öğreniyorum:

  • Açılı parantezli başlıklar bütünüyle o gerçekleştirmeye (implementation; yani, derleyiciye) bağlı bir biçimde aranır ve bulunurlarmış. Bu maddede dosya lafı geçmiyor. Dolayısıyla, diye eklendiğinde sistemde öyle bir dosya olmayabilir ve içerik derleyiciye ait bambaşka bir biçimde de eklenebilir.

  • Çift tırnaklar kullanıldığında ise bir dosyadan bahsediyoruz. O dosyanın nerede bulunduğu yine derleyiciye kalmıştır. İşin ilginci, eğer böyle bir dosya bulunamazsa, derleyici açılı parantez kullanılmış gibi tekrar işlem görürmüş. Dolayısıyla, "string" diye eklesek ama öyle bir dosya olmasa, olarak eklenmiş gibi ekleniyormuş ve o biçimde bulunuyormuş.

Ek olarak, standart olsa artık boost klasörü bulunmaz ve örneğin diye eklenir.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 27, 2015

Yukarıdaki kuralları izlersek, açılı parantez kullanılınca senin dosyalarına bakılmıyor bile. Ama eğer kendi dosyanın adını 'code' yaparsan ve '"code"' diye eklersen olur.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 27, 2015

Hayır, D ve C++ gibi diller hızdan ödün vermezler.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2