오류, 버그, 질문 - 페이지 2199

 
Комбинатор :

일반적으로 임시 개체는 즉시 삭제되지 않고 컨텍스트가 끝날 때 삭제됩니다. C++에서는 틀리지 않았다면 표준으로 작성되었습니다.

빠른 삭제를 원하면 컨텍스트를 관리하십시오.

사실, 연산자를 =로 만들어야 합니다.

고맙습니다! SD는 현재 동작을 수정할 계획이라고 밝혔지만 일정은 정해지지 않았습니다.

 

BW로 인쇄하기 위한 미리보기(인쇄되지는 않았지만 아마도 그렇게 인쇄된) 그래픽의 컬러 라인(레벨).


 

터미널 빌드 1795

윈도우 764


최적화를 시작 하고 30분 후에 중단 하면 터미널이 정지 되고 멈출 방법이 없습니다.

MetaTester64 에이전트(8개)는 작업 관리자에서 증가합니다.

그 후 터미널이 시작되지 않습니다 . 기다리거나 컴퓨터를 다시 시작해야 합니다.


모든 사람이 그것을 가지고 있습니까?

Запуск платформы - Для продвинутых пользователей - MetaTrader 5
Запуск платформы - Для продвинутых пользователей - MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
 
포럼에 무슨 일이? 하루가 시작되고 비현실적인 브레이크가 시작되었습니다. 페이지는 빠르게 또는 30초 이내에 로드됩니다.
 
Vladimir Karputov :
포럼에 무슨 일이? 하루가 시작되고 비현실적인 브레이크가 시작되었습니다. 페이지는 빠르게 또는 30초 이내에 로드됩니다.
rkn, 아마도 ... 다른 서비스의 푸시 알림에 문제가 있습니다 .. 텔레그램이 그들을 통해 작동하는 것 같습니다 ..
 
컴파일러 오류
 class A
{
public :
   int i;
  
   void f() const
  {
    A* Tmp = true ? & this : & this ; // no problem - BUG!
//    A* Tmp = &this; // '=' - cannot convert from const pointer to nonconst pointer
    
    Tmp.i = 4 ;
  }
};

void OnStart ()
{
   const A a;
  
  a.f();
  
   Print (a.i); // 4
}
 
Ilnur Khasanov :
rkn, 아마도 ... 다른 서비스의 푸시 알림에 문제가 있습니다 .. 텔레그램이 그들을 통해 작동하는 것 같습니다 ..

나는 러시아 외부에 있으며 사이트가 여전히 가끔 멈춥니다. 그러나 나는 한 달이 없습니다. 사용.

 
fxsaber :

고맙습니다! 객체를 정의할 때 객체와 "="의 반환은 추가를 거친다는 것이 밝혀졌습니다. 건설자.

나는 어딘가에서 시각적 테이블을 보고 싶습니다. 어떤 경우에는 생성자(그리고 어떤 것)에 대한 호출이 있고 어떤 경우에는 - 연산자가 있습니다. 이제 모든 것이 직관의 수준에 있지만 물론 실패합니다.

특정 규칙에 의존하지 않는 것이 좋습니다. 컴파일러는 그런 것들을 아주 자유롭게 최적화할 수 있습니다(rvo, nrvo, copy elision, 아마도 다른 최적화는 초과분을 조용히 잘라낼 것입니다). 복사 생성자와 등호 연산자는 동일한 작업을 수행해야 합니다(다른 동작을 가져서는 안 됨). "copy-and-swap 관용구"라는 좋은 접근 방식이 있습니다. 영어가 허용하는 경우 여기에 자세히 설명되어 있습니다. https://stackoverflow.com/questioncopy-and-swap idioms/3279543/what-is-the- 복사 및 교환 관용구 .
간단히 말해서, 모든 생성자와 연산자에서 사용되는 하나의 스왑 함수가 작성되었습니다(코드의 양을 줄이고 결과적으로 컴파일러가 무엇을 호출하고 잘라낼지 걱정하지 않고 동일한 동작을 얻습니다. 거기에서 최적화하십시오).

dumb_array& operator =(dumb_array other)
{
    swap(* this , other);
     return * this ;
}
dumb_array (dumb_array &&other)
{//this должен быть в валидном состоянии
    swap(* this , other);
}
dumb_array& operator =(dumb_array &&other)
{
    swap(* this , other);
     return * this ;
}

"강조 표시된 라인은 질문을 제기합니다. 임시 개체가 사용되자마자 충돌하지 않는 이유는 무엇입니까? 즉, 30개의 출력 전에."

올바른 질문이라고 생각합니다. 임시 물건은 결장 뒤에 무너졌어야 합니다.

추신: 거기에서 코드를 약간 수정했습니다. 어쨌든 복사 생성자(이동 생성자가 아님)가 필요합니다. µl의 경우 rvalue 참조가 없기 때문에 이점이 명확하지 않습니다.
What is the copy-and-swap idiom?
What is the copy-and-swap idiom?
  • stackoverflow.com
What is this idiom and when should it be used? Which problems does it solve? Does the idiom change when C++11 is used? Although it's been mentioned in many places, we didn't have any singular "what is it" question and answer, so here it is. Here is a partial list of places where it was previously mentioned:
 
pavlick_ :

특정 규칙에 의존하지 않는 것이 좋습니다. 컴파일러는 그런 것들을 아주 자유롭게 최적화할 수 있습니다(rvo, nrvo, copy elision, 아마도 다른 최적화는 초과분을 조용히 잘라낼 것입니다). 복사 생성자와 등호 연산자는 동일한 작업을 수행해야 합니다(다른 동작을 가져서는 안 됨). "copy-and-swap 관용구"라는 좋은 접근 방식이 있습니다. 영어가 허용하는 경우 https://stackoverflow.com/questions/3279543/what-is-the-copy-and-swap 에 자세히 설명되어 있습니다. - 관용구 .
간단히 말해서, 모든 생성자와 연산자에서 사용되는 하나의 스왑 함수가 작성되었습니다(코드의 양을 줄이고 결과적으로 컴파일러가 무엇을 호출하고 잘라낼지 걱정하지 않고 동일한 동작을 얻습니다. 거기에서 최적화하십시오).

"강조 표시된 라인은 질문을 제기합니다. 임시 개체가 사용되자마자 충돌하지 않는 이유는 무엇입니까? 즉, 30개의 출력 전에."

올바른 질문이라고 생각합니다. 임시 물건은 결장 뒤에 무너졌어야 합니다.

감사합니다. SD는 이미 RVO 계획에 대해 경고했습니다.

 
스크립트가 아무 것도 출력하지 않는 이유는 무엇입니까?
 class A
{
public :
  A() {}
  
   template < typename T>
   void operator =( T& )
  {
     Print ( __FUNCSIG__ );
  }

   template < typename T>
  A( T& )
  {
     Print ( __FUNCSIG__ );
  }
};

A* f()
{
   return ( new A);
}

void OnStart ()
{
  A* a = f();
  
  A* b;
  b = f();
  
   delete a;
   delete b;
}