>  Q&A  >  본문

구문 - C++11 스레드는 객체의 멤버 함수를 호출합니다.

클래스의 멤버 함수를 삭제하면 아마 이런 느낌일 겁니다.

으아악

하지만 이 클래스의 특정 개체가 이 작업을 수행하도록 하려면 어떻게 해야 할까요?

迷茫迷茫2684일 전986

모든 응답(2)나는 대답할 것이다

  • 某草草

    某草草2017-05-16 13:24:21

    std::thread는 클래스의 멤버 함수를 호출하고 클래스의 객체를 매개변수로 전달해야 합니다.

    으아악

    클래스의 멤버 함수에서 스레드를 처리하는 경우 다음과 같이 전달하면 됩니다.

    으아악

    참조: stackoverflow

    회신하다
    0
  • 怪我咯

    怪我咯2017-05-16 13:24:21

    参考C 플러스 플러스

    매개변수
    fn
    함수에 대한 포인터, 멤버에 대한 포인터 또는 모든 종류의 이동 생성 가능 함수 객체(예: 클로저 및 함수 객체를 포함하여 클래스
    가 연산자()를 정의하는 객체).
    반환 값(있는 경우)은 무시됩니다.
    args...
    인수는 fn 호출에 전달됩니다(있는 경우). 해당 유형은 이동 구성 가능해야 합니다. fn이 멤버 포인터인 경우 첫 번째 인수는 해당 멤버가 정의된 개체, 참조 또는 이에 대한 포인터여야 합니다.
    x
    상태가 생성된 개체로 이동되는 스레드 개체입니다.

    으아아아

    类似这样 std::thread(&C::increase_member,std::ref(bar),1000)

    회신하다
    0
  • 취소회신하다