분류 전체보기 썸네일형 리스트형 [effective STL] 항목 16 : 기존 C API에 vector와 string 넘기기 Sourcehttps://github.com/ElementalKiss/Cpp/blob/master/Example/VectorAndStringUsingCAPI.cpp 서론기존에 잘 구현되어 있는 C API를 사용하는데 vector와 string을 쓰는데 뭔가 깨림찍한게 있다. vector - &vec[0]을 통해 포인터를 넘긴다.string - str.c_str() 함수를 통해 문자열 포인터를 넘긴다. begin?begin()은 엄연히 반복자를 반환하므로 헷갈리면 안된다. 굳이 사용하겠다면 &*vec.begin() 형태로....(이건 좀 아닌듯) string은 왜 함수를 사용하는가?- string의 데이터 자체가 연속 메모리에 저장되도록 규정되어 있지 않다.(아닐수도 있다는 이야기)- string의 내부 .. 더보기 [erlang] 예외 분산 어플리케이션 제작이 목표라면 오류 처리의 작동 방식이 매우 중요하다. 소스https://github.com/ElementalKiss/Erlang/blob/master/example/try_test.erl erlang에서 예외를 잡는 방법예외를 발생시킬 것 같은 함수를 try-catch로 감싸는 것.함수 호출을 catch식으로 감싸는 것. 예외 발생시키기exit(Why) - 프로세스 종료.(예외를 잡지 않을 경우 연결된 모든 프로세스에 broadcast)throw(Why) - 함수가 예외를 던질 수 있다. 선택1. 통상적인 경우만 처리하고 예외 무시, 선택2. try-catch로 감싸서 오류 처리.erlang:error(Why) - crashing error를 표시. 호출자가 예기치 못한 상황 발생... 더보기 [퍼드] 750일 보너스 성탄절 1굴림 750일 로그인 보너스!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!참 오래도 했다. 벌써 750일이라니.. 요새는 거의 해탈의 경지에 이르러 엄청나게 열심히 하진 않지만 하루에 스테미너는 다 쓰는 정도.750일 보너스라고 5개를 받고 어쩔까 고민하다가.야심한 밤에 황금룡과의 악수! 궁진이라니!몰랐는데 궁진이 한번 더 있었다!! 이번에 성탄제 업글하면서 함께 나온 것.일러스트가 무척 귀여워 만족스럽다.파티 한번 짜볼까?귀찮아서 대충 짰다. 요새는 대충 짜고 대충 가서 대충 깨도 되니깐... 더보기 [루아] Lua에서 .과 :의 차이(?) + OOP http://lua-users.org/wiki/ColonForMethodCall 일반적으로인스턴스 메소드는 : 콜론을 사용하여 호출한다.클래스나 팩토리 매소드, 필드를 접근할 때는 . 을 주로 사용한다. OOP느낌으로?https://github.com/ElementalKiss/Lua/blob/master/OopExample.lua 12345678910111213141516171819202122232425262728293031323334353637-- Meta ClassRectangle = {area = 0, length = 0} -- Base Class function Rectangle:New(cpyRect,length)-- copy constructure? newRect = cpyRect or {} s.. 더보기 [effective STL] 항목 15 : string은 여러 가지 방식으로 구현되어 있다. 정리string의 문자열 값은 참조 카운팅일 수 있다.- 많은 라이브러리가 참조 카운팅을 사용한다.- 물론 참조 카운팅 기능을 끌 수 있는 방법도 대개 제공한다. string 객체 자체의 크기는 다양할 수 있다. 문자열을 새로 생성할 때 필요한 메모리 할당 회수는 0~2번이 될 수 있다. 둘 이상의 string 객체가 문자열 크기나 용량 정보를 함게 가질 수도 있고, 그렇지 않을 수도 있다. 문자 버퍼를 위해 할당하는 메모리의 최소량에 대한 정책은 모두 다르다. string 객체 구현에 일반적인 요소들필수문자열 크기, 용량, 문자열 선택할당자, 참조 카운트 이건 뭐 지 맘대로 다 구현되어 있으니.. 잘 보고 잘 써란 소리. 더보기 [effective STL] 항목 14 : 재할당 방지 reserve STL의 컨테이너는 프로그래머가 신경쓰지 않고 요소를 늘릴 수 있다. 제약 - 최대 크기를 넘지 않는 하. 컨테이너 최대 크기를 넘으면?- 컨테이너의 현재 용량의 배 수(보통 2배)를 늘린다.- 새 메모리에 객체를 복사한다.- 기존 메모리의 객체를 소멸시키고 메모리를 해제한다. reserve 멤버 함수는 사용할 메모리를 미리 할당해 둠으로써 재할당 회수를 최소화시킨다. STL 맨들이 알아야 할 네 가지 함수* 이 네 가지를 모두 지원하는 컨테이너는 vector와 string이다. size() - 컨테이너에 들어 있는 요소의 개수.capacity() - 할당된 메모리로 담을 수 있는 요소의 개수.resize(size_t n) - 컨테이너가 담을 수 있는 요소의 개수를 n개로 무조건 만든다.reserve(s.. 더보기 [퍼드] 서유기 강림 서유기 강림!삼장 강림이 매우 더럽기 때문에.. 심각한 고통을 받았던 많은 유저들에게 꿀맛같은 던전이다.하지만 실제로 던전 자체는 좀 어렵다.드디어 나도 삼장을!!어렵나? 100배100배면 모두 해결 되었다.기린에게 초지옥따윈 사실 아무것도 아니었다...항상 강림 보스의 뎀감따위는 개나줘버렸다... 더보기 [erlang] 순차 프로그래밍 작성 소스https://github.com/ElementalKiss/Erlang/tree/master/example 모듈모듈은 얼랭에서 코드의 기본 단위. 확장자는 .erl인 파일에 저장된다. 코드가 실행되기 위해선 컴파일을 해야 한다. 컴파일 된 모듈은 .beam 확장자를 가진다. 간단한 모듈 만들어보기 geometry.erl12345678910-module(geometry).-export([area/1]).% area 함수는 2개의 절로 구분된다.% 함수는 여러개의 절로 될 수 있으며 ;로 구분하고% 마지막 절은 .으로 마친다. % 일반적인 모양 : funcationName ({pattern}) -> statement area({rectangle, Width, Ht}) -> Width*Ht;area(.. 더보기 이전 1 ··· 32 33 34 35 36 37 38 ··· 74 다음