«c++» etiketlenmiş sorular

Statik olarak yazılmış, serbest biçimli, çok paradigmalı, derlenmiş, genel amaçlı bir programlama dili olan C ++ ile ilgili sorular.

3
Şablonlarla çalışırken derleme sürelerini nasıl uzatıyorsunuz?
Visual Studio 2012 kullanıyorum ve bir "dikiş noktası" tanıtmak için "sadece" bir sınıfa şablon parametreleri eklediğimiz durumlar var, böylece birim testinde bu parçaları sahte nesnelerle değiştirebiliriz. Genellikle C ++ 'da dikiş noktalarını nasıl tanıtırsınız: arayüz parametrelerini kullanarak ve / veya şablon parametrelerini kullanarak örtülü arayüzlere sahip bazı kriterlere dayalı karıştırmayı …
13 c++  tdd  templates 

1
Üst düzey liste işlevleri için C ++ 11 desteği
Çoğu fonksiyonel programlama dilleri (mesela Common Lisp, Scheme / Raket, Clojure, Haskell, Scala, Ocaml, SML) gibi listelerde bazı ortak yüksek mertebeden fonksiyonları desteklemek map, filter, takeWhile, dropWhile, foldl, foldrmesela (bkz , Common Lisp, Scheme / Racket Clojure yan yana referans sayfası , Haskell , Scala , OCaml ve SML belgeleri.) …

4
C ++ ve Java'daki soyut sınıflar / arayüzler için farklı bir kullanım gerekçesi var mı?
Herb Sutter'e göre, uygulamayı mümkün olduğunca ayrıştırmak için soyut arayüzleri (tüm saf sanal fonksiyonlar) C ++ 'daki soyut sınıflara tercih etmeliyiz. Şahsen bu kuralı çok yararlı bulsam da, yakın zamanda birçok Java programcısı olan bir ekibe katıldım ve Java kodunda bu kılavuz mevcut görünmüyor. Fonksiyonlar ve uygulamaları soyut sınıflarda çok …

7
Tektonların, soyut sınıfların ve arayüzlerin rolleri nelerdir?
C ++ 'da OOP okuyorum ve bu 3 kavramın tanımlarının farkında olmama rağmen, onu ne zaman veya nasıl kullanacağımı gerçekten anlayamıyorum. Örnek olarak bu sınıfı kullanalım: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void set_name (string parameter){this->name=parameter;} void set_age (int parameter){this->age=parameter;} string get_name …

3
Std :: string's c_str () 'den ne gibi bir performans bekleyebiliriz? Her zaman sabit zaman?
Son zamanlarda bazı gerekli optimizasyonları yapıyorum. Yaptığım bir şey, bazı ostringstream'leri değiştirmek -> sprintfs. Ben ac stil dizisi, ala std :: dizeleri bir demet sprintf'ing char foo[500]; sprintf(foo, "%s+%s", str1.c_str(), str2.c_str()); Microsoft'un std :: string :: c_str () uygulamasının sabit zamanda çalıştığı ortaya çıkıyor (sadece dahili bir işaretçi döndürüyor). Görünüşe …


7
C # deneyimi C ++ 'a iyi tercüme eder mi? [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 . 5 yıl önce kapalı . Okuldaki programlama derslerim C ++ idi, ancak son birkaç yıldır C # yaparak bir işte çalıştım. C …
13 c#  c++  experience 

9
IBM derleyicisi + COBOL'u C ++ ile yeniden yazma
1972 yılında yazılmış bir kiralama sistemi üzerinde çalışan bir araç kiralama şirketi için kiralama acentesi / yöneticisi olarak çalışıyorum. Belki de güncelleme zamanı geldiğine karar verdim. Biraz arka plan için, günlük olarak bu programdan ele almamız gereken deliliğe kısa bir örnek: Bir kiralama acentesi, bir ekranda yazdırmanın ACT alanında "MXC" …

6
“RAII deyimini açıklayın” iyi bir C ++ tarama sorusu mu? [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ı . Birlikte çalıştığım bir şirket, potansiyel bir müşteriye birini gönderirken tamamen utanmadıklarından emin olmak için aday telefon taramaları …
13 c++  interview 

7
Tasarım: Üst sınıfa geri arama
Bir nesneyi çocuklarla modellerken, çocukları ana sınıfın bir üyesi olarak kompozisyon yoluyla dahil etmek yaygındır. Bazen çocukların ebeveyne bir şey söylemeleri gerekir, ebeveynlerinin bir işlevini çağırmaları gerekir. Bu nasıl C ++ kullanarak yapılabilir? Bazı seçenekler: Üst sınıfı global yapın, bu nedenle alt nesneler üst nesnenin üye işlevlerini çağırabilir. Üst nesneyi …

3
Anonim ad alanları kodu test edilemez kılar
İşte tipik bir C ++ kodu: foo.hpp #pragma once class Foo { public: void f(); void g(); ... }; foo.cpp #include "foo.hpp" namespace { const int kUpperX = 111; const int kAlternativeX = 222; bool match(int x) { return x < kUpperX || x == kAlternativeX; } } // namespace …
12 c++  unit-testing 

4
Sizeof neden derleme zamanı operatörü olarak adlandırılır?
Başlangıçta, bu başka bir sorunun bir parçası . Neden sizeofderleme zamanı operatörü olarak adlandırılır? Öyle değil mi aslında bir çalışma zamanı santral? Ve eğer gerçekten bir derleme zamanı operatörü ise, farklı bilgisayarlarda aynı şekilde çalışan taşınabilir kod üretmeye nasıl yardımcı olur? Lütfen ayrıntılı olarak açıklayınız.
12 c++ 

2
Akış manipülatörü (endl) veya yeni satır çıkış karakteri (\ n) mı kullanıyorsunuz?
Soruyu sorduğum belirli bir bağlam yok, ancak C ++ ile ilgili bir başlangıç ​​kitabı okurken, bir akış nesnesiyle uğraşırken hem bir endl akış manipülatörü hem de bir yeni satır kaçış karakterinin kullanımını fark ettim. Örnek şu şekildedir: cout << "Hello World" << endl; cout << "Hello World\n"; Sorularım: Akış manipülatörünü …

2
Türetilmiş sınıf ham dinamik bellek ayırmıyorsa neden temel sınıfın burada sanal bir yıkıcıya ihtiyacı var?
Aşağıdaki kod bellek sızıntısına neden oluyor: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < 1000000; i++) …

1
C ++ özel üye işlevleri kapsüllemek için arkadaş sınıfları kullanma - iyi uygulama veya kötüye?
Bu yüzden, böyle bir şey yaparak başlıklara özel işlevler koymaktan kaçınmanın mümkün olduğunu fark ettim: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // or whatever …

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.