↑맨위로 ↓맨아래

   
[기타]

여기 혹시 c++개발자 있나요

 
글쓴이 : q123 날짜 : 2020-03-27 (금) 01:46 조회 : 537 추천 : 0    

#include <vector>

#include <iostream>

#include <random>

#include <chrono>

#include <array>

#include <iostream>

#include <functional>


struct Keys

{

  double a;

  double b;

  Keys(const Keys& k) : a(k.a), b(k.b) {}

  Keys() {}

};

using Sequence = std::vector<Keys>;

using RemainingSequence = std::array<Sequence, 4>;



struct ExtremalPoints

{

  Keys xMin, xMax, yMin, yMax;

};

using ExistingZones = std::array<bool, 4>;

using RelevantZones = std::array<bool, 4>;

using Location = std::array<signed short int, 4>;

using PointSequenceReducedLastTime = std::array<bool, 4>;

struct ExtremalPointsInZones

{

  Keys xMinSW, xMinNW, xMaxSE, xMaxNE, yMinSW, yMinSE, yMaxNW, yMaxNE;

};

struct KeysInfo

{

  ExtremalPoints extremalPoints;

  RelevantZones relevantZones;

  ExtremalPointsInZones extremalPointsInZones;

  Location location;

  PointSequenceReducedLastTime pointSequenceReducedLastTime {true, true, true, true};

  RemainingSequence remainingSequence; // 벡터로 이루어진 4행 어레이 입니다.

};


void generateRandomSequence(Sequence& Seq, size_t numberOfSeq)

{

  Seq.clear();


  auto seed = std::chrono::high_resolution_clock::now().time_since_epoch().count();


  auto realRand = std::bind(std::uniform_real_distribution<double>(1,(numberOfSeq)), std::mt19937(seed));


  for(size_t i = 0 ; i < numberOfSeq ; i++ ) 

  {

    Keys key;

    key.a = realRand();

    key.b = realRand();

    Seq.push_back(key);

  }

}

int main()

{

  Sequence seq;

  size_t numberOfSeq = 10000;

  generateRandomSequence(seq, numberOfSeq);

  KeysInfo info;


  std::cout << "size of array " << info.remainingSequence.size() << "\n";

  std::cout << "size of first vector" << info.remainingSequence[0].size() << "\n";

  std::cout << "size of second vector" << info.remainingSequence[1].size() << "\n";

  std::cout << "size of third vector" << info.remainingSequence[2].size() << "\n";

  std::cout << "size of fourth vector" << info.remainingSequence[3].size() << "\n";

  std::cout << "size of fifth vector" << info.remainingSequence[5].size() << "\n";


  // cout 의 결과는 다음과 같습니다. 

  // size of array 4

  // size of first vector 8795939219482 // 첫번째, 

  // size of second vector 275 // 두번째에서 쓰레기 값이 나옵니다. 

  // size of third vector 0

  // size of fourth vector 0

  // size of fifth vector 0 // 여긴 오히려 0, 여기에서 쓰레기 값이 나와야 하는거 아닌가요. 


  Keys k;

  remainingSequence[5].push_back(k); // 에러발생 없습니다. 


}

해당 코드는 큰 파일의 일부 입니다.

컴파일시 명령어가 g++-9 -std=c++17 면 에러가 생기고

컴파일시 명령어에 최적화 옵션을 넣으면 g++-9 -01 -std=c++17 에러가 사라집니다.

제공된 코드만 컴파일 하여 보면 문제가 없을수 있으나 제가 하고 있는 작업에서는 해당 문제가 생기고 제공된 코드와 실제의 차이는 없다고 봅니다. 스트럭처를 define 후 바로 사용하는데도 문제가 생기는데 이유를 모르겠습니다.

 [eTo마켓] 갓심비 1+1 갤럭시 아이폰 LG 강화유리 기본필름 (19) 

샤르베스 2020-03-27 (금) 11:03
사실 뭔지 잘 모르겠음.
저는 C++ 안한지 오래되기도 했고 C#서버랑 그리고 유니티 C#만 오래해봐서
근데 이해가 안되는게 왜 할당도 안한
KeysInfo info; <- 예를 사이즈를 제는지 모르겠음.
     
       
글쓴이 2020-03-29 (일) 05:55
사실 잴 필요는 없는데 에러가 나오길래 왜 나오는지 확인 하다가 사이즈를 확인해 봤습니다.
사나없인못살… 2020-03-27 (금) 11:18
코드가 c++을 가장한 c 같네요...
     
       
글쓴이 2020-03-29 (일) 05:55
맞습니다.
Quantee 2020-03-27 (금) 12:03
최소한 에러 메시지는 보여 주셔야 할 거 같은데요.
     
       
글쓴이 2020-03-29 (일) 06:00
해당부분에서 Segmentation fault: 11
발생하고 멈춥니다.
          
            
Quantee 2020-03-29 (일) 07:16
std::array가 자동으로 사이즈가 늘어나는 게 아니라면,
size가 4인 array에서 0부터3까지 index로 사용가능한데
 4,5까지 사용을 하면 당연하게도 Segmentation fault가 납니다.
에러가 안 난다는 옵션도 아마 6,7,..계속 지정하면 같은 Segmentation fault가 날 겁니다.
세린 2020-03-29 (일) 19:31
배열 사이즈 자체가 4밖에 안되는데
그 크기를 넘어서 접근하려고 하니까 에러나는거 같네요
   

컴퓨터  주간추천순 | 월간추천순 | 월간조회순 | 월간댓글순 | 반기추천순
 
번호 제목 글쓴이 날짜 추천 조회
[공지]  ※ 컴퓨터 게시판 이용안내  eToLAND 05-20 27
[광고랜드] [이토랜드 공식] SK렌탈샵 최대혜택 / 정수기 / 공기청정기 / 비데 / 365일 … (85) SK렌탈샵
57470 [일반]  고수님들의 고견을 듣고자 합니다 .  (1) 이미지첨부 heyz 00:01 0 36
57469 [일반]  임시파일 삭제해도 될까요?  (3) 이미지첨부 깁은고뇌 03-31 0 122
57468 [영상]  남자라면 핑크지! ROCCAT KONE PURE ULTRA Coral  이토간판 03-31 1 126
57467 [하드웨어]  i7-6700, gtx1060 6gb 중고 pc 얼마나할까요??  (2) 트레트 03-31 0 163
57466 [일반]  아래 정전관련 컴터고장 재점검결과.....  (6) 이미지첨부 하늘바람처럼 03-31 1 183
57465 [하드웨어]  모니터와 스피커 전원이 가끔씩 나갑니다.  (4) 하지의낮은길… 03-31 0 144
57464 [하드웨어]  이 제품 인강용 피씨로 쓸만 할까요?  (7) 레야 03-31 1 200
57463 [인터넷]  유선랜 안되네요, dns 서버부분 fec0~ 이란게 뭘 징표하나요 ?  (7) 이미지첨부 ㄹㄹ33 03-31 0 136
57462 [하드웨어]  제가 가진 시스템에서 업글 정도 하려면? cpu 선택 어떤걸 하는게 좋을까요?  (16) 가슴이시킨다 03-31 0 159
57461 [하드웨어]  하드디스크에서 틱..틱..틱 소리가 나면서.....  (7) 양파즙좋네 03-31 0 222
57460 [하드웨어]  i5 4460에 gtx1660을 써도 될까요  (5) jk883 03-31 0 297
57459 [하드웨어]  형님들 간단한건데 조언좀 부탁합니다 부팅시 모니터 반응이 없다가 모니터전원을 다시키면 들어옵니다.  (3) 퍽빡푹빡 03-31 0 98
57458 [하드웨어]  컴퓨터 전원이 안들어옵니다  (8) 오키11 03-31 0 257
57457 [하드웨어]  중고 피씨 가격 문의드립니다  (9) 김퓽슈 03-31 1 268
57456 [기타]  중고 나라 존버 6개월째....  (2) 이미지첨부 천리마™ 03-31 0 817
57455 [하드웨어]  컴 가격 적당한지 봐주세요  (2) 리군61 03-31 0 285
57454 [하드웨어]  메인보드가 하드디스크 잡아먹는 경우  (11) 아브아카 03-31 3 527
57453 [하드웨어]  4K 플루이드모션 RX560으로 충분할까요?  (8) 나도몸짱 03-30 0 517
57452 [하드웨어]  소규모 사무실 NAS 설치  (23) 닥터마빈 03-30 2 467
57451 [하드웨어]  글카가 좋아도 다가 아닙니다.  (11) The미래 03-30 1 549
57450  코로나가 진정된다면 몇 개월 뒤쯤 수급이 안정될까요?  (3) 지로의뢰서 03-30 0 314
57449 [일반]  하드 파일을 옮기는데 멈췄어요  (9) 이미지첨부 붉은언덕 03-30 0 262
57448  윈도우10 부팅지연 해결 방법 ???  (4) 이미지첨부 root386 03-30 0 465
57447 [하드웨어]  메인보드와 CPU 호환성이 궁금합니다.  (8) 이미지첨부 안티테제 03-30 0 306
57446 [일반]  업체공사중 정전으로 파워가 죽으면서 보드부터 싹 죽었네요.....  (6) 하늘바람처럼 03-30 0 458
57445 [소프트웨어]  크롬 피그툴박스 대체 프로그램 추천 부탁드립니다.  (3) finkllhs 03-30 0 159
57444 [일반]  34인치 WQHD(3440x1440) 모니터 그래픽 요구사항 질문  (15) 천상의찬가 03-30 0 390
57443 [리뷰]  9400F와 3500X 비교 영상이 올라와서 공유해 봅니다  (2) 뱅쇼한잔 03-30 4 388
57442 [하드웨어]  컴퓨터를 어떻게 맞춰야할지 조언 부탁드려요.  (11) 이미지첨부 시원라씨 03-30 1 274
57441 [하드웨어]  하드 추가 시 방열판 스티커  (5) 이미지첨부 나다412 03-30 0 361
 1  2  3  4  5  6  7  8  9  10  다음