#include <iostream>
#include <deque>

using namespace std;

int main(void){

deque<char *> dp;
char buf[100];

buf[0] = 'a'; buf[1] = 'b'; buf[2] = '\0';
dp.push_back(buf);

buf[0] = 'c'; buf[1] = 'd'; buf[2] = '\0';
dp.push_back(buf);

cout << dp[0] << dp[1] << endl;

return 0;
}

これを実行した時に、頭の中ではabcdと表示されると思うのですが、
cdcdと表示されるのです