Pytania oznaczone «c++»

264
Jak mogę czytać i analizować pliki CSV w C ++?

Muszę załadować i użyć danych pliku CSV w C ++. W tym momencie może to być po prostu parser rozdzielany przecinkami (tzn. Nie martw się o ucieczkę nowych wierszy i przecinków). Główną potrzebą jest parser wiersz po wierszu, który zwróci wektor dla następnej linii za każdym razem, gdy wywoływana...

263
Jak mogę dodać odbicie do aplikacji C ++?

Chciałbym mieć możliwość introspekcji klasy C ++ pod kątem jej nazwy, zawartości (tj. Członków i ich typów) itp. Mówię tutaj o natywnym C ++, nie zarządzanym C ++, który ma odbicie. Zdaję sobie sprawę, że C ++ dostarcza pewne ograniczone informacje za pomocą RTTI. Jakie dodatkowe biblioteki (lub...

263
Przekaż deklarację wyliczenia w C ++

Próbuję zrobić coś takiego: enum E; void Foo(E e); enum E {A, B, C}; które kompilator odrzuca. Rzuciłem okiem na Google i wydaje się, że konsensus brzmi: „nie możesz tego zrobić”, ale nie rozumiem dlaczego. Czy ktoś może wyjaśnić? Wyjaśnienie 2: Robię to, ponieważ mam prywatne metody w...

263
funkcje składowe std :: string length () i size ()

Byłem przeczytaniu odpowiedzi na to pytanie i okazało się, że nie jest w rzeczywistości metoda zwana length()dla std::string(I zawsze używany size()). Czy jest jakiś konkretny powód, aby mieć tę metodę w std::stringklasie? Czytam zarówno MSDN, jak i CppRefernce, i wydają się one wskazywać, że nie...

262
Szybki pułap podziału liczb całkowitych w C / C ++

Podane wartości liczb całkowitych xoraz yC i C ++ zwracają jako iloraz q = x/ypodłogi ekwiwalentu zmiennoprzecinkowego. Zamiast tego interesuje mnie metoda zwrotu sufitu. Na przykład ceil(10/5)=2i ceil(11/5)=3. Oczywiste podejście obejmuje coś takiego: q = x / y; if (q * y < x) ++q; Wymaga to...

262
konwertuj char * na std :: string

Potrzebuję użyć std::stringdo przechowywania danych pobranych przez fgets(). Aby to zrobić, muszę przekonwertować char*wartość zwracaną z fgets()na std::stringdo przechowywania w tablicy. Jak można to

259
Jak zgłosić wyjątek C ++

Bardzo słabo rozumiem obsługę wyjątków (tj. Jak dostosować instrukcje rzucania, próbowania, łapania do własnych celów). Na przykład zdefiniowałem funkcję w następujący sposób: int compare(int a, int b){...} Chciałbym, aby funkcja generowała wyjątek z pewną wiadomością, gdy a lub b jest...

258
Jak złożyć zapytanie HTTP w C ++?

Czy jest jakiś sposób na łatwe wykonanie żądania HTTP w C ++? W szczególności chcę pobrać zawartość strony (API) i sprawdzić zawartość, aby zobaczyć, czy zawiera 1 lub 0. Czy można również pobrać zawartość do

257
wyrzucanie wyjątków z destruktora

Większość ludzi twierdzi, że nigdy nie wyrzucaj wyjątków z destruktora - powoduje to nieokreślone zachowanie. Stroustrup podkreśla, że „wektor destruktora jawnie przywołuje destruktor dla każdego elementu. Oznacza to, że jeśli rzuca element destruktor, zniszczenie wektora nie powiedzie się ......

257
Autouzupełnianie w Vimie

Krótko mówiąc, szukam działającej funkcji autouzupełniania dla edytora Vima. Mam twierdził wcześniej , że Vim całkowicie zastępuje IDE pod Linuksem i choć to z pewnością prawda, że brakuje jednej ważnej funkcji: autouzupełnianie. Wiem o Ctrl+ N, integracji Exuberant Ctags , Taglist , cppcomplete i...

256
Ustal, czy mapa zawiera wartość klucza?

Jaki jest najlepszy sposób ustalenia, czy mapa STL zawiera wartość dla danego klucza? #include <map> using namespace std; struct Bar { int i; }; int main() { map<int, Bar> m; Bar b = {0}; Bar b1 = {1}; m[0] = b; m[1] = b1; //Bar b2 = m[2]; map<int, Bar>::iterator...

256
Wskaźnik vs. odniesienie

Jaka byłaby lepsza praktyka przy nadawaniu funkcji oryginalnej zmiennej do pracy z: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); lub: void func2(unsigned long* val) { *val = 5; } func2(&x); IOW: Czy jest jakiś powód, aby wybierać między...

254
Cel związków w C i C ++

Wcześniej korzystałem ze związków zawodowych; dzisiaj byłem zaniepokojony, gdy przeczytałem ten post i dowiedziałem się, że ten kod union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; //...

254
Jak przekonwertować tablicę char na ciąg?

Konwersja C ++ stringna tablicę char jest dość prosta przy użyciu c_strfunkcji string, a następnie wykonania strcpy. Jak jednak zrobić odwrotnie? Muszę tablica znak jak: char arr[ ] = "This is a test";być przekonwertowany na adres: string str = "This is a

254
Korzyści funkcji wbudowanych w C ++?

Jakie są zalety / wady korzystania z funkcji wbudowanych w C ++? Widzę, że zwiększa to tylko wydajność kodu generowanego przez kompilator, ale przy dzisiejszych zoptymalizowanych kompilatorach, szybkich procesorach, ogromnej pamięci itp. (Nie tak jak w 1980 r. <Gdzie pamięci było mało i wszystko...