«c++11» 태그된 질문

C ++ 11로 컴파일해야하는 코드에이 태그를 사용하십시오 (C ++ 14 이상에서 도입 된 기능을 사용하지 않음).

3
std :: stou가없는 이유는 무엇입니까?
C ++ 11은 몇 가지 새로운 문자열 변환 함수를 추가했습니다. http://en.cppreference.com/w/cpp/string/basic_string/stoul 여기에는 stoi (string to int), stol (string to long), stoll (string to long long), stoul (string to unsigned long), stoull (string to unsigned long long)이 포함됩니다. 그 부재에서 주목할만한 것은 stou (문자열에서 부호없는) 함수입니다. 필요하지 않지만 다른 모든 이유가 …
96 c++  string  c++11  std 

6
std :: initializer_list가 기본 제공 언어가 아닌 이유는 무엇입니까?
std::initializer_list핵심 언어가 내장되어 있지 않은 이유는 무엇 입니까? C ++ 11의 매우 중요한 기능이지만 자체 예약 된 키워드 (또는 유사)가없는 것 같습니다. 대신, initializer_list그건 단지 특별한 암시가 표준 라이브러리에서 템플릿 클래스 매핑 새로운에서 보강-초기화리스트 {...} 컴파일러에 의해 처리하는 것 구문을. 처음에이 솔루션은 상당히 엉망 입니다. 이것이 C ++ 언어에 대한 …


3
C ++ 11에서 std :: function이 비어 있는지 제대로 확인하는 방법은 무엇입니까?
std::function비어 있는지 제대로 확인하는 방법이 궁금합니다 . 이 예를 고려하십시오. class Test { std::function<void(int a)> eventFunc; void registerEvent(std::function<void(int a)> e) { eventFunc = e; } void doSomething() { ... eventFunc(42); } }; 이 코드는 MSVC에서 잘 컴파일되지만 코드 doSomething()를 초기화하지 않고 호출하면 eventFunc분명히 충돌합니다. 그것은 예상되었지만의 가치가 무엇인지 궁금합니다 eventFunc. …

5
이동 전용 유형의 벡터를 나열 초기화 할 수 있습니까?
GCC 4.7 스냅 샷을 통해 다음 코드를 전달하면 unique_ptrs를 벡터 에 복사하려고합니다 . #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } 분명히 std::unique_ptr복사 할 수 없기 때문에 작동 하지 않습니다. 오류 : 삭제 된 함수 'std :: unique_ptr <_Tp, …



3
중괄호로 묶인 이니셜 라이저는 언제 사용합니까?
C ++ 11에는 클래스 초기화를위한 새로운 구문이있어 변수를 초기화하는 방법에 대한 많은 가능성을 제공합니다. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; std::complex<double> c = {3,4}; auto d = std::complex<double>(3,4); auto e = …

2
“The C ++ Programming Language”제 4 판 섹션 36.3.6의이 코드가 잘 정의 된 동작을 가지고 있습니까?
Bjarne Stroustrup의 The C ++ Programming Language 4 판 섹션 36.3.6 STL-like Operations 에서 다음 코드는 연결 의 예로 사용됩니다 . void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), 4, "only" …

8
캡처를 함수 포인터로 사용하는 C ++ 람다
나는 C ++ 람다와 함수 포인터로의 암시 적 변환을 가지고 놀았습니다. 내 시작 예제는 ftw 함수의 콜백으로 사용했습니다. 이것은 예상대로 작동합니다. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char *fpath, const struct stat *sb, int typeflag) -> int { cout << fpath << …

6
컴파일 타임에 C 문자열의 길이를 계산합니다. 이것은 정말로 constexpr입니까?
컴파일 타임에 문자열 리터럴의 길이를 계산하려고합니다. 이를 위해 다음 코드를 사용하고 있습니다. #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } 모든 것이 예상대로 작동하고 프로그램은 4와 8을 인쇄합니다. clang에 의해 생성 …

8
전 처리기 매크로가 왜 사악하고 대안은 무엇입니까?
나는 항상 이것을 물었지만 정말 좋은 대답을받지 못했습니다. 나는 첫 번째 "Hello World"를 작성하기 전에 거의 모든 프로그래머가 "매크로는 절대 사용해서는 안된다", "매크로는 악하다"와 같은 문구를 접했다고 생각합니다. 내 질문은 다음과 같습니다. 왜? 새로운 C ++ 11을 사용하면 수년이 지난 후에 진정한 대안이 있습니까? 쉬운 부분은 #pragma플랫폼 #pragma once에 따라 …

4
<chrono>에서 int milli 및 float 초로 기간을 얻는 방법은 무엇입니까?
타이머와 기간에 chrono 라이브러리를 사용하려고합니다. 나는 Duration frameStart;(앱 시작부터) 및 Duration frameDelta;(프레임 사이의 시간 ) 을 가질 수 있기를 원합니다. frameDelta기간을 밀리 초와 부동 초로 가져올 수 있어야합니다 . 새로운 C ++ 11 &lt;chrono&gt;라이브러리를 어떻게 사용합니까? 나는 그것에 대해 일하고 인터넷 검색을 해왔다 (정보가 희박합니다). 이 코드는 템플릿이 많고 특수한 …
94 c++  c++11  timer  chrono 

6
활성 예외없이 호출 된 C ++ 종료
스레딩에 C ++ 오류가 발생합니다. terminate called without an active exception Aborted 다음은 코드입니다. #include &lt;queue&gt; #include &lt;thread&gt; #include &lt;mutex&gt; #include &lt;condition_variable&gt; template&lt;typename TYPE&gt; class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &amp;operator&lt;&lt;(TYPE &amp;other) { std::unique_lock&lt;std::mutex&gt; mtx_lock(mtx); while(buffer.size()&gt;=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); mtx_lock.unlock(); stop_if_empty.notify_one(); …

15
C ++ 11에는 C # 스타일 속성이 있습니까?
C #에는 getter 및 setter가있는 필드에 대한 멋진 구문 설탕이 있습니다. 또한 자동 구현 속성이 마음에 듭니다. public Foo foo { get; private set; } C ++에서 나는 작성해야 private: Foo foo; public: Foo getFoo() { return foo; } C ++ 11에 이러한 개념이있어 이에 대한 구문 설탕을 가질 수 …
93 c#  c++  class  c++11 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.