분류 전체보기(599)
-
인라인함수 따져보기(effective c++ 30)
인라인 함수장점함수처럼 보이고 함수처럼 동작하는데다가 훨씬 안전하고 쓰기 좋다.함수 호출 시 발생하는 오버헤드도 걱정할 필요가 없다. 숨겨진 이점함수 호출 비용이 면제되는 것은 눈에 보이는 부분에 불과하다. 인라인 함수를 사용하면 컴파일러가 함수 본문에 대해 문맥별(context-specifc) 최적화를 걸기가 용이해진다. 단점인라인 함수로 인해 부풀려진 코드는 성능의 걸림돌이 되기 쉽다.페이징 횟수가 늘어나고 명령어 캐시 적중률이 떨어질 가능성도 높아진다. 컴파일러잘 알다시피 인라인 키워드를 붙인다 하더라도 컴파일러가 판단하여 인라인을 하여 성능이 좋아진다면 인라인할 것이고 그게 아니라면 인라인을 하지 않는다. 생성자/소멸자생성자와 소멸자는 인라인하기에 그리 좋지 않은 함수이다.생성자와 소멸자는 내부에..
2015.09.04 -
예외 안정성 확보(effective C++ 29)
예외 안정성요구사항- 자원이 새도록 만들지 않는다.(함수 내부에서 동적할당한 후 해제하지 않고 탈출하는 경우)- 자료구조가 더럽혀지는 것을 허용하지 않는다.(정상적인 동작을 예상하고 카운트 등을 증가시켰는데, 예상치 못한 예외에 의해 함수에서 탈출해버리는 경우) 보장성예외 안전성을 가진 함수는 아래의 세 가지 보장(Guarantee) 중 하나를 제공한다.- 기본적인 보장(Basic Guarantee) : 함수 동작 중 예외가 발생하면, 실행 중인 프로그램에 관련된 모든 것들을 유효한 상태로 유지한다. - 강력한 보장(Strong Guarantee) : 프로그램의 상태를 절대로 변경하지 않는다는 보장. 호출이 실패하면 호출 자체를 없었던 것처럼 하여 프로그램의 상태가 되돌아간다.- 예외불가 보장(Nothr..
2015.09.04 -
내부에서 사용하는 객체의 핸들을 반환하는 코드는 NO(effective c++ 28)
핸들이란?핸들은 구체적인 어떤 대상을 접근하기 위한 용도로 쓰이는 매개체이다.핸들로서 레퍼런스 변수와 포인터 변수, 반복자가 여기에 해당한다. 핸들 반환핸들을 반환한다는 것은 메모리에 접근하여 데이터를 수정할 수 있게 한다는 것이다.그 때문에 객체의 캡슐화는 무너진다.const를 사용하여 어느 정도 보완할 수 있다. 그렇지만 무효 참조 핸들(Dangling handle)이 발생 할 수 있다. 무효 참조 핸들핸들이 있기는 하지만 그 핸들을 따라갔을 때 실제 객체의 데이터가 없는 것을 의미한다.핸들을 반환하게 되면 자주 발생하는 현상이다. 예시문제마지막 문장 끝날 즈음에는 boundingBox()함수에서 생긴 임시 객체가 사라지면서 소멸자를 호출 할 것이다.아마도 정상인이라면 이 객체 내부에 동적할당을 한 ..
2015.09.04 -
캐스팅 절약(effective c++ 27)
C++의 캐스팅이란?어떤 일이 있어도 타입 에러가 생기지 않도록 보장한다.이론적으로 C++ 프로그램은 컴파일만 끝나면 그 이후엔 어떤 객체에 대해서도 불안전한 연산이나말도 안되는 연산을 수행하려 들지 않는다. 문제점캐스트( cast )는 C++의 동작 규칙을 무시 할만한 기능을 갖고 있다.C++에서 캐스팅은 정말로 조심해서 써야 하는 기능이다. C++ 스타일 캐스트const_cast객체의 상수성( constness )을 없애는 용도로 사용된다. 이런 기능을 가진 C++ 스타일의 캐스트는 이것 밖에 없다.객체의 휘발성( volatileness )을 제거하는 용도로도 쓰인다. dynamic_cast'안전한 다운 캐스팅( safe downcasting )'을 할 때 사용하는 연산자이다.주어진 객체가 어떤 클래..
2015.09.04 -
[티스토리] 타이틀 로고로 바꿔보기
서론너무나 정직한 이 글꼴! 한번 바꿔보자. 로고 만들기글꼴만 바꾸면 뭐하니 로고를 만들었다.포토샵을 사용하여 했는데 storke 부분을 건드려서... 자세한 설명은 생략한다.투명 배경으로 해서 뭐 일단 준비는 완료! HTML 코드를 보자 "##_title_##"가 그대로 출력 되는 것. 그래 저걸 없애고 여기에 이미지 코드를 넣어주면 될거같다.(결론적으로 되었다.) 1cs와 color scripter HTML 코드 하일라이팅 정말 깔끔하구나!! 파일 업로드자 이렇게 추가를 해줬으니. 파일을 업로드만 하면 끝! CSS 옆에 파일 업로드 기능이 있다. 여기에 해당 타이틀 이미지를 추가 하면 끝!
2015.09.04 -
MySql 연결하기
일단 간단하게 테이블 만들고. html 코드 이번엔 get 방식으로 보내보자! php 코드 mysqli_connect - 쿼리작성 - mysqli_query - mysqli_close참 쉽다!! get 방식으로 보내서 kokodb, momodb 등이 URL에 표시된다! 데이터베이스 확인 아주 알차게 입력되었다. 데이터베이스에서 불러오기 select로 쿼리문 읽어와서 $result에 담고fetch_array로 읽어가며 출력!
2015.08.27