일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준
- 배열
- c++
- 티스토리
- Win32
- c#
- Javascript
- CS
- 연산자
- Direct2D
- 이지스퍼블리싱
- 프로그래밍
- c
- Tips프로그래밍강좌
- tipssoft
- 지식나눔강좌
- Kotlin
- VS ERROR
- doit코틀린프로그래밍
- 김성엽
- 알고리즘
- Tips강좌
- Windows
- 문법
- 포인터
- 리뷰
- 함수
- Visual Studio
- Programming
- Desktop
- Yesterday
- Today
- Total
목록c++ (21)
F.R.I.D.A.Y.
Windows OS가 설치된 드라이브를 보면 Program Files이란 폴더와 뒤에 (x86)이라 붙은 폴더가 있습니다. 각각의 폴더는 64비트, 32비트로 개발된 프로그램이 설치되는 기본 폴더를 의미합니다. 그렇다면 64비트 프로그램은 어떻게 개발하고 내가 개발하는 프로그램이 64비트인지는 어떻게 확인할 수 있을까요? 이번 포스트에선 이 방법에 대해 알아봅니다. ※ 이 포스트는 Visual Studio 2019 Community v16.1.2. C 프로젝트에서 테스트되었습니다. 디버그 왼쪽을 보자 상단 메뉴바를 보면 로컬 디버그 작업을 할 수 있는 버튼이 존재합니다. 그 왼쪽을 보면, Debug x86 이 적힌 드롭다운 리스트가 존재하는데요, 여기 보이는 x86이 프로그램을 32비트로 개발하겠다는 설..
많은 프로그래머들이 작성된 코드로 인해 발생하는 각종 문제들에 골머리를 앓고 있습니다. 현업 개발자뿐만 아니라 일반 학부생, 아마추어 개발자들도 예외는 아닌데요, 오늘 포스팅에서는 이러한 버그를 잡는 방법중 하나인 assert에 대해 알아봅니다. 버그의 종류 먼저 버그의 종류를 알아보죠. 버그는 크게 두 가지 종류로 나뉩니다. 문법상 코드를 잘못 작성해 발생하는 문법오류(Syntax Error)와 문법상 문제는 없지만 예상치 않은 결과가 발생하는 논리적 오류(Logical Error)입니다. 여기서 잡기 힘든 코드는 논리적 오류입니다. 문법 오류의 경우 IDE의 인텔리센스가 잡아서 경고를 띄워주기도, 컴파일이 되지 않는 방법으로 사전에 알 수 있지만, 논리적 오류는 코드상 문제가 아니라 들어온 데이터, ..
C의 main 선언 방식과 C++의 main 선언 방식이 차이가 있다는 얘기를 들었다. // C 타입 int main(void){ return 0; } // C++ 타입 int main(){ return 0; } main 파라미터에 void를 작성하면 C타입, 그렇지 않으면 C++타입이라고 하는데 자세한 출처는 찾아봐야겠다. 문서 하단을 참고하세요. 11. ANSI/ISO Standard C C++ 언어와는 달리, C 언어 표준에서는 main()이 재귀적으로 (즉, recursive하게, main이 다시 main을 부르는 경우) 호출되는 것을 막지 않았습니다.11.5 즉, 원한다면 main에서 다시 main을 부를 수 있습니다. 그러나, IOCCC에 출품할 것이 아니라면, 그런 코드를 만들 이유가 없습니..
이웃 학부에서 홀수 마방진 프로그램을 과제로 받았단 소식을 접하고 동아리 개강총회가 끝나고 시간 들여서 만들어봤습니다. 다른 사람들의 코드와는 달리 굳이 수식을 계산하고 할 필요 없이 그냥 즉흥적으로 생각나는대로 코드를 작성한 것이라서 코드 길이나 시간복잡도에 있어서는 불리하지만 패턴 찾는데는 괜찮았던것 같아요. 1. 마방진? 마방진은 다음과 같은 정의를 가집니다. - 정사각형 공간에 1부터 차례로 숫자를 적되, 숫자를 중복하거나 빠트리지 않고 가로, 세로, 대각선에 있는 수의 합이 모두 같도록 만든 숫자의 배열을 의미한다. (네이버 지식백과 - 마방진, https://terms.naver.com/entry.nhn?docId=3386690&cid=60206&categoryId=60206, 2019.03...
프로그래밍을 어느정도 접하고 나면 필연적으로 접하게 되고 사용하게 되는 연산자가 있습니다. 비트(bit) 연산자와 시프트(shift) 연산자인데, 이번에 소개를 할 연산자는 시프트 연산자입니다. 비트 연산자는 다음에 시간이 된다면 포스팅하죠. 비트 비트 연산자와 더불어 시프트 연산자를 이해하려면 기본적인 메모리 저장 방법을 알아야합니다. 현대의 전자 컴퓨터는 0과 1, 이진수로만 작동을합니다. 따라서 모든 값을 저장하고 연산하는 과정을 이진수로 동작합니다. 인간이 10이이라고 쓰면, 컴퓨터는 다음과 같이 이진수로 변환을 합니다. 컴퓨터는 메모리를 관리하는 최소 단위가 1바이트이기 때문에 편의상 1바이트 표현으로 사용하겠습니다. 0000 1010 1은 어떻게 표현할까요? 0000 0001 위와 같습니다. ..
C언어의 구조체(struct) 문법이 강화되면서 C++에 클래스 문법이 만들어졌습니다. 이 클래스 문법은 클래스 생성자가 존재합니다. 생성자를 간단히 설명하면 클래스를 인스턴스 해 객체를 만드는 과정에서 만들어진 객체가 오작동 없이 잘 기능할 수 있도록 내부 데이터(멤버 변수)를 초기화해주는 함수라고 생각하면 될것 같습니다. 1. class의 기본 구조 #include class test { private: int a; // 멤버 변수들 int b; int c; public: test() { // 생성자 } ~test() { // 소멸자 } }; 클래스의 기본 구조는 위와 같습니다. 생성자는 클래스 이름과 같고, 괄호 안에는 매개변수가 없거나 하나 이상 들어갈 수 있습니다. C++의 함수 오버로딩 기능이..
보호되어 있는 글입니다.
C/C++ 를 배울 때 꼭 하나씩 집어넣는 헤더파일이 있다. #include "A.h" int main(void){ ... return 0; } A.h #include "A.h" void Function1(){ ... } void Function2(){ ... } 즉, 헤더 파일은 다른 헤더 파일을 인클루드하긴 하지만 소스 파일( *.c *.cpp 등)은 인클루드 하지 않는다. 또한, 소스 파일과 소스 파일의 구조를 담아 놓은 헤더파일의 이름은 같다. 3. 헤더 가드(Header Guard) stdio 헤더 파일의 내용을 살펴보면 처음에 아래와 같은 구조를 띤다. line 01 - 07 : 주석 line 08 - 10 : 전처리기 ... 여기서 주의 깊게 살펴볼 내용은 line 8부터 10까지, 흔히 헤..
인터넷에 문제가 있길래 한번 해봄. #include #include #include using namespace std; class Solution { public: int solution(string src) { int ans = 0, *ansTemp; ansTemp = new int[3]; int index = -1; char ch; for (int i = 0; i < src.length(); ++i) { ch = src.at(i); if ('0'
https://blog.naver.com/tipsware/221424298273 대표님께서 내주신 과제(?)로 한번 만들어보게 되었다. 정확히 맞는지는 모르겠지만 프로그램은 정상적으로 작동한다. 프로그램 만들어놓은걸 삭제해버리기도 했고, 프로젝트 크기가 MFC 특성상 크기때문에 TISTORY에 올릴 수도 없다. 따라서 이번엔 OneDrive로.. 언제 삭제될지는 모르겠다. https://1drv.ms/f/s!AjtV4g1Eht2Phg-oPi46xJJm-IuH 파일 Download