개인적으로, 나는 프로그램 전체에 많은 변수가 흩어져 있고, 이 변수나 저 변수가 생성된 위치를 찾아야 할 때마다 정말 마음에 들지 않습니다. 따라서 가능하면 함수 시작 부분에 변수를 모두 함께 선언하려고 합니다. 변수가 생성된 위치를 확인하고 언제 삭제되는지 이해하기 위해서입니다.
"프로그램 전체에 흩어져"라는 의미에서? 지역 변수는 그것이 사용되는 블록에서만 선언되고 사용됩니다. 그리고 당신이 그것을 찾아야한다면, 당신은 악마가 거기에서 다리를 부러 뜨릴 수있는 그런 발판을 가지고 있습니다)
함수의 시작 부분에서 모든 변수를 선언하는 것은 나쁜 구식 스타일일 뿐입니다. 오래된 Strastrup조차도 정확하고 신뢰할 수 있는 코드를 위해 오래된 C의 이러한 구식 잔재를 포기할 것을 요구했습니다. 사용 장소에서 직접 변수를 선언하는 것입니다. 당신의 접근 방식이 많은 무작위 오류로 가득 차 있다는 것을 깨닫지 못했습니다. 뭔가로 변수를 초기화합니까? 아니면 "무작위로" 그런 다음 코드의 예측할 수 없는 동작을 긁어모으고 있습니까? ) 한때 하드웨어의 저전력과 컴파일러의 약점으로 인해 이 모든 것이 정당화되었지만 지금은 확실히 아닙니다.
당신은 책을 찔러보고 자신을 칭찬하지만 본질적으로 그들은 아무 말도하지 않았습니다. 덤불 주위의 이론 만 읽고 읽으면 명확해질 것입니다 ... 메모리 및 프로세서, 프로세서 및 메모리, 전원 공급 장치, 그것은 또한 사용됩니다
그것을 필요로 하는 사람들은 내 글의 의미를 이해할 것이지만, 프로그래머들은 항상 그들의 슬픔을 씹고 은쟁반에 준비된 답변을 제공해야 하며, 그들은 아무것도 이해하기를 원하지 않습니다. 따라서 내 권장 사항은 귀하에 대한 응답으로 작성되었지만 귀하를위한 것이 아니라 기술을 배우고 완벽하게 만들고자하는 사람들을위한 것일 가능성이 큽니다.
나는 두 가지 유형의 사람들이 있다고 믿습니다. 도중에 갈퀴를 본 사람들은 테스트로 밟은 결과 만 결정하고 기본 물리학 법칙을 알고 무게에 대한 데이터를 사용하는 사람들이 있습니다. 요소를 밟지 않고도 결과를 미리 예측할 수 있습니다.
그것을 필요로 하는 사람들은 내 글의 의미를 이해할 것이지만, 프로그래머들은 항상 그들의 슬픔을 씹고 은쟁반에 준비된 답변을 제공해야 하며, 그들은 아무것도 이해하기를 원하지 않습니다. 따라서 내 권장 사항은 귀하에 대한 응답으로 작성되었지만 귀하를위한 것이 아니라 기술을 배우고 완벽하게 만들고자하는 사람들을위한 것일 가능성이 큽니다.
나는 두 가지 유형의 사람들이 있다고 믿습니다. 도중에 갈퀴를 본 사람들은 테스트로 밟은 결과 만 결정하고 기본 물리학 법칙을 알고 무게에 대한 데이터를 사용하는 사람들이 있습니다. 요소를 밟지 않고도 결과를 미리 예측할 수 있습니다.
나는 두 가지 유형의 사람들이 있다고 믿습니다. 심장 박동수가 과대 평가되어 허영심을 즐겁게하는 사람들과 문제의 본질에 대해 정말 유용한 의견이 하나도 없습니다. 제 생각에는 그들은 탐구조차하지 않았습니다. 그것에
그리고 그것들이 있습니다 ... 그것은 여전히 당신이 아니라 중요하지 않습니다 :)
알렉산드르 마트비예프 :
이 진술의 작성자가 프로세서, 메모리 및 컴파일러가 어떻게 작동하는지 전혀 모르고 있다는 의심이 듭니다... 저는 귀하의 코드가 적어도 수십 배, 심지어 수백 배까지 가속화될 수 있다고 확신합니다. 그런 엉터리 코더 때문에 대부분의 제품은 이제 수십 개의 코어가 있는 가장 강력한 컴퓨터에서 뻔뻔하게 속도가 느려지지만 조금만 생각하면 됩니다. 하지만 어떤 사람들은 생각합니다.
그리고 나는 당신이 여전히 그 수준에 머물러 있다는 의심을 가지고 있습니다." EC1020 및 ZX 스펙트럼 이후 87년, "
'똥코더'가 바로 너라서 600명을 고용했는데...
범죄 없음
추신: 내 코드 속도를 높입니다. 수백 번은 아니지만 적어도 수십 번은 주제 시작 부분의 코드, 첫 번째 게시물에서, 물론 똥 코더가 아니라면 내 코드 속도를 높일 수 있습니다. 10배 또는 100배로 코드를 작성해 보겠습니다.
Alexey Navoykov : 네, 하지만 이상적으로는 차이가 전혀 없어야 합니다. 왜냐하면. 상황은 최적화를 위해 아주 간단합니다. 그리고 루프 본체를 별도의 기능으로 옮겨도 똑같을 거라 확신합니다. 그러나 편집증이 있는 사람들은 이 문자열을 참조로 함수에 끌어다 놓아야 하므로 코드가 복잡해집니다.
거기에서 출시부터 출시까지의 테스트 결과는 5-15% 부동해야 합니다. Windows는 실시간 OS가 아닙니다.
개인적으로, 나는 프로그램 전체에 많은 변수가 흩어져 있고, 이 변수나 저 변수가 생성된 위치를 찾아야 할 때마다 정말 마음에 들지 않습니다. 따라서 가능하면 함수 시작 부분에 변수를 모두 함께 선언하려고 합니다. 변수가 생성된 위치를 확인하고 언제 삭제되는지 이해하기 위해서입니다.
"프로그램 전체에 흩어져"라는 의미에서? 지역 변수는 그것이 사용되는 블록에서만 선언되고 사용됩니다. 그리고 당신이 그것을 찾아야한다면, 당신은 악마가 거기에서 다리를 부러 뜨릴 수있는 그런 발판을 가지고 있습니다)
함수의 시작 부분에서 모든 변수를 선언하는 것은 나쁜 구식 스타일일 뿐입니다. 오래된 Strastrup조차도 정확하고 신뢰할 수 있는 코드를 위해 오래된 C의 이러한 구식 잔재를 포기할 것을 요구했습니다. 사용 장소에서 직접 변수를 선언하는 것입니다. 당신의 접근 방식이 많은 무작위 오류로 가득 차 있다는 것을 깨닫지 못했습니다. 뭔가로 변수를 초기화합니까? 아니면 "무작위로" 그런 다음 코드의 예측할 수 없는 동작을 긁어모으고 있습니까? ) 한때 하드웨어의 저전력과 컴파일러의 약점으로 인해 이 모든 것이 정당화되었지만 지금은 확실히 아닙니다.
당신은 책을 찔러보고 자신을 칭찬하지만 본질적으로 그들은 아무 말도하지 않았습니다. 덤불 주위의 이론 만 읽고 읽으면 명확해질 것입니다 ... 메모리 및 프로세서, 프로세서 및 메모리, 전원 공급 장치, 그것은 또한 사용됩니다
그것을 필요로 하는 사람들은 내 글의 의미를 이해할 것이지만, 프로그래머들은 항상 그들의 슬픔을 씹고 은쟁반에 준비된 답변을 제공해야 하며, 그들은 아무것도 이해하기를 원하지 않습니다. 따라서 내 권장 사항은 귀하에 대한 응답으로 작성되었지만 귀하를위한 것이 아니라 기술을 배우고 완벽하게 만들고자하는 사람들을위한 것일 가능성이 큽니다.
나는 두 가지 유형의 사람들이 있다고 믿습니다. 도중에 갈퀴를 본 사람들은 테스트로 밟은 결과 만 결정하고 기본 물리학 법칙을 알고 무게에 대한 데이터를 사용하는 사람들이 있습니다. 요소를 밟지 않고도 결과를 미리 예측할 수 있습니다.
함수의 시작 부분에서 모든 변수를 선언하는 것은 나쁜 구식 스타일일 뿐입니다. 오래된 Strastrup조차도 정확하고 신뢰할 수 있는 코드를 위해 오래된 C의 이러한 구식 잔재를 포기할 것을 요구했습니다. 사용 장소에서 직접 변수를 선언하는 것입니다.
임호, 브라보! - 설득력 있게, 지역 범위에서 변수를 사용할 때 초기화되지 않은 변수를 적중할 가능성이 더 적습니다. 또는 오히려 변수가 이전에 사용되었을 때의 값, 컴파일러는 경고를 발행하지 않고 이러한 작은 더러운 트릭을 검색합니다. 지루하다
주제와 테스트에 따르면, 뭐, 뭐니 뭐니 해도 5~7% 이상의 차이는 보이지 않으며, 다음 빌드에서 동작이 변경되지 않는다는 사실도 아닙니다.
그것을 필요로 하는 사람들은 내 글의 의미를 이해할 것이지만, 프로그래머들은 항상 그들의 슬픔을 씹고 은쟁반에 준비된 답변을 제공해야 하며, 그들은 아무것도 이해하기를 원하지 않습니다. 따라서 내 권장 사항은 귀하에 대한 응답으로 작성되었지만 귀하를위한 것이 아니라 기술을 배우고 완벽하게 만들고자하는 사람들을위한 것일 가능성이 큽니다.
나는 두 가지 유형의 사람들이 있다고 믿습니다. 도중에 갈퀴를 본 사람들은 테스트로 밟은 결과 만 결정하고 기본 물리학 법칙을 알고 무게에 대한 데이터를 사용하는 사람들이 있습니다. 요소를 밟지 않고도 결과를 미리 예측할 수 있습니다.
나는 두 가지 유형의 사람들이 있다고 믿습니다. 심장 박동수가 과대 평가되어 허영심을 즐겁게하는 사람들과 문제의 본질에 대해 정말 유용한 의견이 하나도 없습니다. 제 생각에는 그들은 탐구조차하지 않았습니다. 그것에
그리고 그것들이 있습니다 ... 그것은 여전히 당신이 아니라 중요하지 않습니다 :)
이 진술의 작성자가 프로세서, 메모리 및 컴파일러가 어떻게 작동하는지 전혀 모르고 있다는 의심이 듭니다... 저는 귀하의 코드가 적어도 수십 배, 심지어 수백 배까지 가속화될 수 있다고 확신합니다. 그런 엉터리 코더 때문에 대부분의 제품은 이제 수십 개의 코어가 있는 가장 강력한 컴퓨터에서 뻔뻔하게 속도가 느려지지만 조금만 생각하면 됩니다. 하지만 어떤 사람들은 생각합니다.
그리고 나는 당신이 여전히 그 수준에 머물러 있다는 의심을 가지고 있습니다." EC1020 및 ZX 스펙트럼 이후 87년, "
'똥코더'가 바로 너라서 600명을 고용했는데...
범죄 없음
추신: 내 코드 속도를 높입니다. 수백 번은 아니지만 적어도 수십 번은 주제 시작 부분의 코드, 첫 번째 게시물에서, 물론 똥 코더가 아니라면 내 코드 속도를 높일 수 있습니다. 10배 또는 100배로 코드를 작성해 보겠습니다.
나는 두 가지 유형의 사람들이 있다고 믿습니다. 심장 박동수가 과대 평가되어 허영심을 즐겁게하는 사람들과 문제의 본질에 대해 정말 유용한 의견이 하나도 없습니다. 제 생각에는 그들은 탐구조차하지 않았습니다. 그것에
그리고 그것들이 있습니다 ... 그것은 여전히 당신이 아니라 중요하지 않습니다 :)
그리고 나는 당신이 여전히 그 수준에 머물러 있다는 의심을 가지고 있습니다." EC1020 및 ZX 스펙트럼 이후 87년, "
'똥코더'가 바로 너라서 600명을 고용했는데...
범죄 없음
그런 더미에 대한 6 페이지의 토론, 나는 조용히 미쳐갑니다))) 포럼의 저하가 분명합니다))
임호, 브라보! - 설득력 있게, 지역 범위에서 변수를 사용할 때 초기화되지 않은 변수를 적중할 가능성이 더 적습니다. 또는 오히려 변수가 이전에 사용되었을 때의 값, 컴파일러는 경고를 발행하지 않고 이러한 작은 더러운 트릭을 검색합니다. 지루하다
주제와 테스트에 따르면, 뭐, 뭐니 뭐니 해도 5~7% 이상의 차이는 보이지 않으며, 다음 빌드에서 동작이 변경되지 않는다는 사실도 아닙니다.
그리고 초기화하지 않고 지역 변수 를 선언한다고 해서 null 값이 보장되지 않는다는 것을 알고 있습니다. 결국 스택에 생성되며 무엇이든 될 수 있습니다.
PS 여기에서 나는 토론의 죄에 빠졌습니다))주제와 테스트에 따르면, 뭐, 뭐니 뭐니 해도 5~7% 이상의 차이는 보이지 않으며, 다음 빌드에서 동작이 변경되지 않는다는 사실도 아닙니다.
네, 하지만 이상적으로는 차이가 전혀 없어야 합니다. 왜냐하면. 상황은 최적화를 위해 아주 간단합니다. 그리고 루프 본체를 별도의 기능으로 옮겨도 똑같을 거라 확신합니다. 그러나 편집증이 있는 사람들은 이 문자열을 참조로 함수에 끌어다 놓아야 하므로 코드가 복잡해집니다.
거기에서 출시부터 출시까지의 테스트 결과는 5-15% 부동해야 합니다. Windows는 실시간 OS가 아닙니다.
그리고 초기화하지 않고 지역 변수 를 선언한다고 해서 null 값이 보장되지 않는다는 것을 알고 있습니다. 결국 스택에 생성되며 무엇이든 될 수 있습니다.
PS 여기에서 나는 토론의 죄에 빠졌습니다))))))) , 우와!
추신: 변수 선언 시 초기화는 최소한의 오류로 모든 코드를 작성하기 위한 기초입니다 ... 여기에서는 컴파일러도 뭔가를 말할 것입니다.)
))))) , 우와!
추신: 변수 선언 시 초기화는 최소한의 오류로 모든 코드를 작성하기 위한 기초입니다 ... 여기에서는 컴파일러도 뭔가를 말할 것입니다.)
컴파일러가 전역 변수와 마찬가지로 지역 변수를 0으로 설정 한다고 생각하는 많은 사람들을 방금 만났습니다.
컴파일러는 경고를 발행하지 않습니다.