«c++» etiketlenmiş sorular

C ++ genel amaçlı bir programlama dilidir. Başlangıçta C'nin bir uzantısı olarak tasarlanmıştır ve benzer bir sözdizimine sahiptir, ancak şimdi tamamen farklı bir dildir. Bir C ++ derleyicisiyle derlenecek kod (sorulacak) ile ilgili sorular için bu etiketi kullanın. Belirli bir standart revizyon [C ++ 11], [C ++ 14], [C ++ 17] veya [C ++ 20] vb. İle ilgili sorular için sürüme özgü bir etiket kullanın.


12
Neden unordered_set yerine set kullanır?
C ++ 0x unordered_sethangi boostve diğer birçok yerde kullanılabilir tanıtıyor . Anladığım şey, arama karmaşıklığına unordered_setsahip karma tablo O(1). Öte yandan, arama karmaşıklığı setolan bir ağaçtan başka bir şey değildir log(n). Neden yeryüzünde herkes kullanmak istiyorsunuz setyerine unordered_set? yani setartık bir ihtiyaç var mı?


3
C / C ++ ön işlemcisinde kendi satırındaki tek bir pound / karma işaretinin (#) amacı nedir?
Boost kitaplıklarının kaynak koduna bakıyordum ve genellikle bunlara herhangi bir önişlemci yönergesi eklenmemiş tek pound işaretlerinin olduğunu fark ettim. GCC önişlemci kılavuzunu ve teknik özellik kılavuzunu okudum ve bu konuda hiçbir şey bulamıyorum. (1) #ifndef BOOST_CONFIG_HPP (2) # include <boost/config.hpp> (3) #endif (4) # (5) #if defined(BOOST_HAS_PRAGMA_ONCE) (6) # pragma …
145 c++  c  boost  c-preprocessor 

5
(A% 256) neden (a & 0xFF) seçeneğinden farklıdır?
Her zaman (a % 256)optimize ediciyi yaparken doğal olarak verimli bir bitsel işlem kullanacağını varsaymıştım, sanki yazmışım gibi (a & 0xFF). Derleyici gezgini gcc-6.2 (-O3) üzerinde test ederken: // Type your code here, or load an example. int mod(int num) { return num % 256; } mod(int): mov edx, edi …
145 c++  optimization 

1
C ++ 'da “using” anahtar kelimesinin arkasındaki mantık nedir?
C ++ 'da "using" anahtar kelimesinin arkasındaki mantık nedir? Farklı durumlarda kullanılır ve ben tüm bunların ortak bir şey olup olmadığını bulmaya çalışıyorum ve "using" anahtar kelime gibi kullanılır bir nedeni vardır. using namespace std; // to import namespace in the current namespace using T = int; // type alias …
145 c++  c++11 

3
Coderbyte sitesinde 'gets (stdin)' ile neler oluyor?
Coderbyte bir online kodlama meydan sitesidir (Ben sadece 2 dakika önce buldum). Karşılaştığınız ilk C ++ meydan okumasında değiştirmeniz gereken bir C ++ iskeleti vardır: #include <iostream> #include <string> using namespace std; int FirstFactorial(int num) { // Code goes here return num; } int main() { // Keep this function …

4
Sınıf içinde şablon işlevi nasıl oluşturulur? (C ++)
Bir şablon işlevi yapmanın mümkün olduğunu biliyorum: template<typename T> void DoSomeThing(T x){} ve bir şablon sınıfı yapmak mümkündür: template<typename T> class Object { public: int x; }; ancak şablonu şablon içinde olmayan bir sınıf haline getirmek ve sonra bu sınıftaki bir işlevi şablon yapmak mümkün müdür? yani: //I have no …
144 c++  templates  function  class 



7
std :: boşluklu cin girişi?
#include <string> std::string input; std::cin >> input; Kullanıcı "Merhaba Dünya" girmek istiyor. Ancak ciniki kelime arasındaki boşlukta başarısız olur. Nasıl cinbütün olarak alabilirim Hello World? Aslında bunu yapıları ile yapıyorum ve cin.getlineişe yaramıyor gibi görünüyor. İşte benim kod: struct cd { std::string CDTitle[50]; std::string Artist[50]; int number_of_songs[50]; }; std::cin.getline(library.number_of_songs[libNumber], 250); …
144 c++  string  space 


14
C ++ 'da otomatik değişkenleri bildirmenin bir dezavantajı var mı?
Görünüşe göre auto, birçok yeni dili takip eden C ++ 11'e eklenmesi oldukça önemli bir özellikti. Python gibi bir dilde olduğu gibi, herhangi bir açık değişken bildirimi görmedim (Python standartlarını kullanarak mümkün olup olmadığından emin değilim). autoDeğişkenleri açıkça belirtmek yerine bildirmek için kullanmanın bir dezavantajı var mı ?

5
Antlr'ın avantajları (diyelim ki lex / yacc / bison) [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 6 yıl önce kapalı . Bu soruyu geliştir Geçmişte lex ve yacc (daha çok bizon) kullandım çeşitli projeler, genellikle çevirmenler (bir EDA …
143 c++  antlr  yacc  bison 

7
Neden bir dize koyamıyorum?
Neden bunu sevemiyorum cout string: string text ; text = WordList[i].substr(0,20) ; cout << "String is : " << text << endl ; Bunu yaptığımda, aşağıdaki hatayı alıyorum: Hata 2 hatası C2679: ikili '<<': 'std :: string' türünde sağdan işlenen alan bir operatör bulunamadı (veya kabul edilebilir bir dönüştürme yok) …
143 c++  string  cout 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.