에/액션 승 나는 클래스 참조는 다음과 같이 보이는 계산하게하는 믹스 인 클래스가 믹서의 소멸자에 도달했을 때 program
이 더 이상 존재하지 않으므로 파생 클래스에서 last_ref_released
을 호출 할 수 없지만이를 수행하는 비슷한 방법이 있습니다 (파생 클래스에 노이즈를 추가하지 않는 것이 좋습니다) ?관입 심판이 카운트 파괴
편집 : 대신 program
의 shared_ptr<program>
으로이 glUseProgram(i->get_program_name())
같은 보일 것
class entity
{
private:
// some other data members...
program prog_;
};
std::vector<entity> entities_;
for (auto& i : entities_) {
//i.bind_program();
glUseProgram(i.get_program_name());
// drawing code here...
}
참고 : 여기에 클라이언트 코드의 예입니다.
이 구문은 무엇입니까? 'ref_count_base & operator = (ref_count_base x) &;'? – billz
@billz 나는 그것을 균등 한 대입 연산자라고 부른다. 운영자는 문제가되지 않습니다. 편집 : 사실 난 그냥 문제를 발견했지만 지금은 그것을 무시하십시오. – Simple
lvalues와 rvalues를 모두 받아들이는 값을 인수로 취하는 대입 연산자를 가질 수 있습니다. 그것은 복사 및 스왑을하기 위해 C++ 03에서 많이 사용되었습니다. 다시 한 번,이 특별한 경우에 문제가 있음을 알았지 만 대개는 괜찮습니다. – Simple