锘??xml version="1.0" encoding="utf-8" standalone="yes"?>午夜欧美不卡精品aaaaa,亚洲视频大全,久久精品视频在线http://www.shnenglu.com/sh19871122/category/17094.htmlzh-cnFri, 29 Apr 2016 15:20:49 GMTFri, 29 Apr 2016 15:20:49 GMT60- 鏈夋晥鍒╃敤鏍囧噯搴撴彁渚涚殑type_traits錛岃紼嬪簭鍦ㄧ紪璇戞椂浣滃嚭鍒嗘敮閫夋嫨http://www.shnenglu.com/sh19871122/archive/2016/04/28/213383.htmlHallelujahHallelujahThu, 28 Apr 2016 09:50:00 GMThttp://www.shnenglu.com/sh19871122/archive/2016/04/28/213383.htmlhttp://www.shnenglu.com/sh19871122/comments/213383.htmlhttp://www.shnenglu.com/sh19871122/archive/2016/04/28/213383.html#Feedback0http://www.shnenglu.com/sh19871122/comments/commentRss/213383.htmlhttp://www.shnenglu.com/sh19871122/services/trackbacks/213383.html璁╃▼搴忎腑鐨勭畝鍗昳f-else鍦ㄧ紪璇戞湡闂村喅瀹?br />
ex. 1 /* 2 * =====================================================================================
3 *
4 * Filename: 3.cpp
5 *
6 * Description:
7 *
8 * Version: 1.0
9 * Created: 03/01/2016 11:38:53 AM
10 * Revision: none
11 * Compiler: gcc
12 *
13 * Author: shih (Hallelujah), sh19871122@gmail.com
14 * Organization:
15 *
16 * =====================================================================================
17 */
18
19 #include <stdio.h>
20 #include <stdint.h>
21 #include <iostream>
22 #include <type_traits>
23
24 template<typename T>
25 struct is_swapable
26 {
27 static const bool value = std::is_integral<T>::value && sizeof(T) >= 2;
28 };
29
30 template<typename T>
31 T byte_swap(T value, std::true_type)
32 {
33 uint8_t *bytes = reinterpret_cast<uint8_t *>(&value);
34 for (std::size_t i = 0; i < sizeof(T)/2; ++i)
35 {
36 uint8_t v = bytes[i];
37 bytes[i] = bytes[sizeof(T) - 1 - i];
38 bytes[sizeof(T) -1 -i] = v;
39 }
40 return value;
41 }
42
43 template<typename T>
44 T byte_swap(T value, std::false_type)
45 {
46 return value;
47 }
48
49 template<typename T>
50 T byte_swap(T value)
51 {
52 return byte_swap(value, std::integral_constant<bool, is_swapable<T>::value>());
53 }
54
55 int main(int argc, const char *argv[])
56 {
57 int a = 0x11223344;
58 long b = 0x4455221112345678;
59 std::cout << std::hex << a << " " << b << std::endl;
60 std::cout << std::hex << byte_swap(a) << " " << byte_swap(b) << std::endl;
61 uint8_t c = 0x11;
62 char *d = "hello world";
63 std::cout << std::hex << byte_swap(c) << " " << byte_swap(d) << std::endl;
64 return 0;
65 }
66

]]> - C++緙栬瘧鏈熷綰︿箣must_have_basehttp://www.shnenglu.com/sh19871122/archive/2014/07/29/207853.htmlHallelujahHallelujahTue, 29 Jul 2014 04:25:00 GMThttp://www.shnenglu.com/sh19871122/archive/2014/07/29/207853.htmlhttp://www.shnenglu.com/sh19871122/comments/207853.htmlhttp://www.shnenglu.com/sh19871122/archive/2014/07/29/207853.html#Feedback0http://www.shnenglu.com/sh19871122/comments/commentRss/207853.htmlhttp://www.shnenglu.com/sh19871122/services/trackbacks/207853.html鍦ㄤ笉瀹岀編C++涓殑must_have_base濡備笅錛?br />
template<typename D, typename B>
struct must_have_base
{
~must_have_base()
{
void (*p)(D*, B*) = constraints;
}
private:
static void constraints(D *pd, B *pb)
{
pb = pd;
}
};
鍘熺悊鏄氳繃涓嶆墽琛岀殑鎴愬憳鍑芥暟鎶婂嚱鏁版寚閽堝湪鏋愭瀯鍑芥暟涓祴鍊鹼紝寮鴻揩緙栬瘧鍣ㄥ湪緙栬瘧鏈熼棿媯鏌ユ垚鍛樺嚱鏁板唴鐨勭害鏉熴?
鑷繁鍐欎簡涓皬鐨勫疄渚嬶紝铏界劧榪欏効鏈夌偣鐐圭壍寮猴紝浣嗘槸錛屽緢澶氭儏鍐典篃闇瑕佹鏌ユ槸鍚︽槸鏌愮綾誨瀷鐨勫瓙綾誨瀷鐨勬椂鍊欒繕鏄彲浠ョ殑錛?br />瀹屾暣浠g爜濡備笅錛?br /> 1
2 template<typename D, typename B>
3 struct must_have_base
4 {
5 ~must_have_base()
6 {
7 void (*p)(D*, B*) = constraints;
8 }
9
10 private:
11 static void constraints(D *pd, B *pb)
12 {
13 pb = pd;
14 }
15 };
16
17 class base
18 {
19 public:
20 virtual ~base() {}
21
22 virtual void run() = 0;
23 };
24
25 class inherit_base: public base
26 {
27 public:
28 virtual void run()
29 {
30
31 }
32 };
33
34 class inherit_not_base
35 {
36 public:
37 virtual void run()
38 {
39
40 }
41 };
42
43 class test
44 {
45 public:
46 template<typename T>
47 void testfunc(T &t)
48 {
49 must_have_base<T, base>();
50
51 t.run();
52 }
53 };
54
55 int main()
56 {
57 test t_ok, t_nok;
58 inherit_base hb;
59 inherit_not_base hnb;
60 t_ok.testfunc(hb);
61 t_nok.testfunc(hnb);
62
63 return 0;
64 }
鎶涚爾寮曠帀錛屽笇鏈涜繖浜涗笢瑗塊兘鑳界敤鍦ㄥ疄闄呯殑宸ョ▼浠g爜涓?img src ="http://www.shnenglu.com/sh19871122/aggbug/207853.html" width = "1" height = "1" />
]]> - zeromq瀛︿範錛岀涓绔?/title>http://www.shnenglu.com/sh19871122/archive/2014/03/16/206194.htmlHallelujahHallelujahSun, 16 Mar 2014 15:41:00 GMThttp://www.shnenglu.com/sh19871122/archive/2014/03/16/206194.htmlhttp://www.shnenglu.com/sh19871122/comments/206194.htmlhttp://www.shnenglu.com/sh19871122/archive/2014/03/16/206194.html#Feedback2http://www.shnenglu.com/sh19871122/comments/commentRss/206194.htmlhttp://www.shnenglu.com/sh19871122/services/trackbacks/206194.html棣栧厛zeromq鐨勮璁℃槸寮變腑闂翠漢鐨勶紙brokerless錛岀浉瀵逛簬ActiveMQ銆丷abbitMQ絳?浣跨敤0zq鐨勭▼搴忓氨鍙互鐩存帴鍜屽叾浠栫殑鑺傜偣閫氫俊鑰屼笉閫氳繃broker鐨勪唬鐞嗐傦級錛寊eromq涓嶄細瀛樺偍淇℃伅鍒扮鐩樹笂錛岀劧鑰屽彲鑳戒嬌鐢ㄦ湰鍦扮殑浜ゆ崲鏂囦歡鏉ュ瓨鍌ㄦ秷鎭紙褰撹緗簡zmq.SWAP鏃訛級銆?br />
紺轟緥錛欻elloWorld錛坰erver錛?br />

server
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <zmq.h>
int main(int argc, char *argv[])
{
void *context = zmq_ctx_new();
void *respond = zmq_socket(context, ZMQ_REQ);
zmq_bind(respond, "tcp://*:4040");
printf("starting
\n");
for (;;)
{
zmq_msg_t request;
zmq_msg_init(&request);
zmq_msg_recv(&request, respond, 0);
printf("received: %s\n", zmq_msg_data(&request));
zmq_msg_close(&request);
sleep(1);
zmq_msg_t reply;
zmq_msg_init_size(&reply, strlen("world"));
memcpy(zmq_msg_data(&reply), "world", 5);
zmq_msg_send(&reply, respond, 0);
zmq_msg_close(&reply);
}
zmq_close(respond);
zmq_ctx_destroy(context);
return 0;
紺轟緥錛欻elloworld錛坈lient錛?br />

client
1
2 #include <stdio.h>
3 #include <unistd.h>
4 #include <string.h>
5 #include <zmq.h>
6
7 int main(int argc, char *argv[])
8 {
9 void *context = zmq_ctx_new();
10 printf("client starting
\n");
11
12 void *request = zmq_socket(context, ZMQ_REQ);
13 zmq_connect(request, "tcp://localhost:4040");
14
15 int count = 0;
16
17 for (;;)
18 {
19 zmq_msg_t req;
20 zmq_msg_init_size(&req, strlen("hello"));
21 memcpy(zmq_msg_data(&req), "hello", 5);
22 printf("send msg hello, count = %d\n", count);
23 zmq_msg_send(&req, request, 0);
24 zmq_msg_close(&req);
25
26 zmq_msg_t reply;
27 zmq_msg_init(&reply);
28 zmq_msg_recv(&reply, request, 0);
29 printf("recv msg %s, count = %d\n", zmq_msg_data(&reply), count);
30 zmq_msg_close(&reply);
31 count++;
32 }
33
34 zmq_close(request);
35 zmq_ctx_destroy(context);
36
37 return 0;
38 }
39
40
榪欓噷浣跨敤浜嗘渶鍩烘湰鐨勮姹傚簲絳旀灦鏋勩傝緇嗚В鏋愪唬鐮侊細
絎竴姝ワ細鍒涘緩浜哻ontext鍜宻ocket錛寊mq_ctx_new鏂規硶鍒涘緩浜嗕竴涓柊鐨?span style="color: red;">context錛岃繖鏄嚎紼嬪畨鍏?/span>鐨勶紝鍗充竴涓猚ontext鍙敤浜庡涓嚎紼嬫搷浣溿?zmq_socket鏂規硶鍒涘緩浜嗕竴涓湪context涓畾涔夌殑socket錛?span style="color: red;">ZeroMQ鐨剆ocket涓嶆槸綰跨▼瀹夊叏銆備紶緇熺殑socket鏄悓姝ョ殑錛岀劧鑰孼MQ鐨剆ocket鍦ㄥ鎴風鍜屾湇鍔$閮界淮鎶や簡涓涓槦鍒楁潵綆$悊request-reply鐨勫紓姝ユā寮忋俍MQ鑷姩鐨勫鐞嗚繛鎺ャ侀噸榪炪佹柇寮榪炴帴鍜屽唴瀹逛氦浠樸?br />鏈嶅姟绔垱寤轟簡Reply錛圸MQ_REP錛夌敤鏉ュ鐞嗘帴鏀舵秷鎭茍搴旂瓟娑堟伅銆傚鏋滃鎴風鍜屾湇鍔$閬楀け錛坙ost錛夛紝搴旂瓟鐨勬秷鎭皢鍦ㄦ病鏈変換浣曢氱煡鐨勬儏鍐典笅涓㈡帀銆?br />瀹㈡埛绔垱寤轟簡涓涓猂equest(ZMQ_REQ)鏉ュ彂閫佹秷鎭茍鎺ユ敹鏉ヨ嚜鏈嶅姟鐨勫簲絳斻俍MQ_REQ涓嬩笉浼氫涪寮冧換浣曚俊鎭紝涓嶇鏄病鏈夋病鏈夊彲鐢ㄤ笌鍙戦佹秷鎭殑鏈嶅姟鎴栨槸鏈嶅姟澶勪簬蹇欑姸鎬侊紝鎵鏈夌殑鍙戦佹搷浣渮mq_send鍑芥暟浼氶樆濉烇紝鐩村埌涓涓湇鍔″彉涓哄彲鐢ㄤ簬鍙戦佹秷鎭俍MQ_REQ鍜孼MQ_REP銆乑MQ_ROUTER綾誨瀷鍏煎銆?br />娑堟伅鐨勫彂閫亃mq_send鍑芥暟鐨勭涓変釜鍙傛暟鏄痜lags錛屾槸ZMQ_DONTWAIT鎴朲MQ_SNDMORE銆俍MQ_DONTWAIT琛ㄦ槑娑堟伅鏄紓姝ョ殑鍙戦併俍MQ_SNDMORE琛ㄦ槑娑堟伅鏈夊閮ㄥ垎錛屽叾浣欑殑閮ㄥ垎宸茬粡“鍦ㄨ礬涓婁簡”銆傛秷鎭帴鏀跺嚱鏁皕mq_msg_recv鍑芥暟錛屽鏈嶅姟绔紝鍦ㄥ厛鍓嶆帴鏀剁殑娑堟伅鏄棤鏁堢殑銆傜涓変釜鍙傛暟flugs鍙兘鏄痁MQ_DONTWAIT銆?br />
鍏堢潯瑙変簡
]]> - 鍏充簬鍏抽敭瀛梫olatile浣跨敤http://www.shnenglu.com/sh19871122/archive/2011/06/17/148847.htmlHallelujahHallelujahFri, 17 Jun 2011 03:59:00 GMThttp://www.shnenglu.com/sh19871122/archive/2011/06/17/148847.htmlhttp://www.shnenglu.com/sh19871122/comments/148847.htmlhttp://www.shnenglu.com/sh19871122/archive/2011/06/17/148847.html#Feedback8http://www.shnenglu.com/sh19871122/comments/commentRss/148847.htmlhttp://www.shnenglu.com/sh19871122/services/trackbacks/148847.html
OK錛屼笂涓畝鍗曠殑紼嬪簭錛屽湪榪欓噷灝嗗緢濂界殑璇存槑volatile鍏抽敭瀛?span class="Apple-style-span" style="font-size: 13px; "> 1 #include <stdio.h>
1 #include <stdio.h>
2
3 int main(void)
4 {
5 volatile int z = 1;
6 int m = (++z) + (++z) + (++z);
7
8 printf("m = %d\n", m);
9
10 return 0;
11 }
12
濡傛灉涓嶅姞涓妚olatile鍏抽敭瀛楋紝鍦ㄤ笉鍚岀殑緙栬瘧鍣ㄤ笅鏈変笉鍚岀殑緇撴灉錛屾湁鐨勬槸10錛屾湁鐨勬槸12錛?br />鍔犱笂volatile鍏抽敭瀛楀悗鍦╣cc涓婂氨鑳藉緱鍒版甯哥殑緇撴灉浜嗭紝浣嗘槸鍦╒C涓嬩緷鏃т笉鑳藉緱鍒版兂瑕佺殑緇撴灉錛屼竴鐩存病
涔熸病鎯抽氫負浠涔堬紝甯屾湜鐭ラ亾緇撴灉鐨勯氱煡鍥炲笘銆?/span>

]]> - 鍏充簬鏌愪釜綾誨瀷杞瓧絎︿覆鍜屽瓧絎︿覆杞崲鏌愮綾誨瀷鐨勭畝鍗曞疄鐜幫紙鐢ㄥ瓧絎︿覆嫻侊級http://www.shnenglu.com/sh19871122/archive/2011/06/09/148361.htmlHallelujahHallelujahThu, 09 Jun 2011 10:22:00 GMThttp://www.shnenglu.com/sh19871122/archive/2011/06/09/148361.htmlhttp://www.shnenglu.com/sh19871122/comments/148361.htmlhttp://www.shnenglu.com/sh19871122/archive/2011/06/09/148361.html#Feedback0http://www.shnenglu.com/sh19871122/comments/commentRss/148361.htmlhttp://www.shnenglu.com/sh19871122/services/trackbacks/148361.html
template<typename T>
T from_string(const std::string &s)
{
std::istringstream is(s);
T type;
is >> type;
return t;
}
template<typename T>
std::string to_string(const T &type)
{
std::ostringstream s;
s << type;
return s.str();
}
鐩存帴鐢ㄥ瓧絎︿覆嫻佹柟渚跨殑澶勭悊浜嗗悇縐嶅唴宓岀被鍨?br />
鍋氫釜鏍囪錛屽洖瀹朵簡

]]> - 璁鎬箙娌$敤C & C++浜嗭紝鍐欎釜struct 鍜?class寰楁濊?/title>http://www.shnenglu.com/sh19871122/archive/2011/05/20/146834.htmlHallelujahHallelujahFri, 20 May 2011 14:49:00 GMThttp://www.shnenglu.com/sh19871122/archive/2011/05/20/146834.htmlhttp://www.shnenglu.com/sh19871122/comments/146834.htmlhttp://www.shnenglu.com/sh19871122/archive/2011/05/20/146834.html#Feedback0http://www.shnenglu.com/sh19871122/comments/commentRss/146834.htmlhttp://www.shnenglu.com/sh19871122/services/trackbacks/146834.html闃呰鍏ㄦ枃

]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
亚洲国产欧美久久|
中文亚洲视频在线|
久久亚洲春色中文字幕|
欧美一区二区三区视频免费|
国产揄拍国内精品对白|
久久夜精品va视频免费观看|
久久综合国产精品|
一区二区三区日韩在线观看|
亚洲图片在线|
国产一区再线|
亚洲国产专区|
国产精品啊v在线|
久久精品一区|
欧美精品v日韩精品v国产精品|
亚洲最新在线视频|
午夜在线精品|
亚洲国产成人不卡|
亚洲视频在线视频|
黄色日韩网站|
日韩亚洲欧美一区二区三区|
国产亚洲激情|
99热精品在线|
尤物精品国产第一福利三区
|
国产精品理论片|
久久久午夜电影|
欧美日韩一区视频|
久久人人爽人人|
欧美日本久久|
裸体丰满少妇做受久久99精品|
欧美日韩国语|
狂野欧美激情性xxxx|
欧美午夜在线|
亚洲第一伊人|
国内自拍视频一区二区三区|
亚洲免费观看高清在线观看
|
久久精品一区二区三区不卡牛牛|
免费视频一区|
久久久久青草大香线综合精品|
欧美激情亚洲国产|
久久夜色精品国产欧美乱|
国产精品igao视频网网址不卡日韩
|
欧美激情在线观看|
老司机精品久久|
国产精品一区久久|
一级成人国产|
99国产精品|
女主播福利一区|
免费在线成人av|
国产亚洲第一区|
亚洲一区免费看|
亚洲免费人成在线视频观看|
免费在线成人av|
免费不卡在线视频|
黄色成人在线网站|
久久国产直播|
久久青草欧美一区二区三区|
国产日韩亚洲欧美|
香蕉成人伊视频在线观看|
亚洲综合激情|
国产精品久久久久久av下载红粉|
亚洲精品一区二区三区婷婷月|
亚洲级视频在线观看免费1级|
久久久久久噜噜噜久久久精品|
久久激情一区|
国产综合色产|
久久婷婷丁香|
欧美国产另类|
99re在线精品|
欧美日一区二区三区在线观看国产免|
亚洲精品网站在线播放gif|
中文在线不卡|
国产精品久久久久久久久久ktv|
亚洲私拍自拍|
久久久99爱|
亚洲第一精品夜夜躁人人躁
|
亚洲欧美日韩在线播放|
欧美在线精品一区|
黄色亚洲免费|
欧美成人中文|
亚洲私人影院在线观看|
午夜精品一区二区三区电影天堂|
国产精品免费网站在线观看|
欧美一级片久久久久久久|
蜜桃久久精品乱码一区二区|
亚洲精品久久久久久久久|
欧美日韩一区自拍|
欧美在线电影|
亚洲欧洲精品一区二区三区|
亚洲最新在线|
国内不卡一区二区三区|
女主播福利一区|
亚洲一区视频在线|
欧美成人一品|
性做久久久久久久久|
亚洲高清自拍|
欧美亚洲动漫精品|
久久久夜精品|
亚洲午夜一区二区三区|
麻豆成人小视频|
亚洲一区二区三区久久
|
欧美三级精品|
久久久精品国产99久久精品芒果|
亚洲精品乱码久久久久久日本蜜臀|
性欧美video另类hd性玩具|
亚洲电影下载|
国产日韩欧美一区二区三区在线观看
|
玖玖综合伊人|
亚洲欧美激情视频|
亚洲激情女人|
老司机免费视频久久|
中文亚洲视频在线|
亚洲国产1区|
国产欧美视频一区二区三区|
欧美日本久久|
免费av成人在线|
欧美一激情一区二区三区|
亚洲精品国产拍免费91在线|
巨乳诱惑日韩免费av|
性欧美18~19sex高清播放|
亚洲美女视频在线观看|
加勒比av一区二区|
国产精品看片你懂得|
欧美全黄视频|
欧美成人一区二区在线|
久久久久久久久久久久久9999|
亚洲一级黄色av|
99在线观看免费视频精品观看|
亚洲国产成人精品女人久久久|
久久视频这里只有精品|
欧美一区二区三区在线播放|
亚洲欧美www|
亚洲一区二区三区免费观看
|
午夜精品福利一区二区蜜股av|
日韩视频免费观看高清在线视频|
亚洲大胆人体视频|
激情综合电影网|
国产在线观看一区|
国产日韩一级二级三级|
国产精品一区二区三区四区五区|
国产精品盗摄一区二区三区|
欧美日韩视频专区在线播放|
欧美另类videos死尸|
欧美精品1区2区3区|
欧美国产免费|
欧美精品一区二区精品网|
欧美日韩国内自拍|
欧美午夜精品久久久久久浪潮
|
国产精品国产成人国产三级|
欧美午夜宅男影院|
国产精品男gay被猛男狂揉视频|
国产精品视频最多的网站|
国产精品久久久久久久久久妞妞
|
99这里只有精品|
亚洲午夜精品福利|
午夜激情久久久|
久久久国产一区二区|
久久另类ts人妖一区二区|
久久视频精品在线|
亚洲成在线观看|
日韩视频免费观看|
午夜精品久久久久久久久久久|
久久成人人人人精品欧|
久久亚洲美女|
欧美日韩日本国产亚洲在线|
国产精品亚洲网站|
亚洲盗摄视频|
亚洲一区二区伦理|
久久久久久尹人网香蕉|
亚洲国产精品女人久久久|
一区二区福利|
久久久噜噜噜久噜久久|
欧美日韩不卡视频|
国产在线视频欧美一区二区三区|
亚洲国产裸拍裸体视频在线观看乱了中文|
日韩午夜av电影|
久久狠狠一本精品综合网|
亚洲电影激情视频网站|
亚洲免费视频网站|
欧美aaa级|
国产一区二区在线免费观看
|
午夜激情综合网|
欧美www在线|
亚洲一区二区三区在线看|
美女视频黄 久久|
国产女优一区|
av成人手机在线|
免费亚洲视频|
欧美亚洲在线观看|
欧美日本中文字幕|
在线观看视频一区|
亚洲欧美亚洲|
亚洲精品免费一二三区|
久久久人人人|
国产欧美一区二区三区久久人妖
|
国产精品永久免费|
一区二区三区黄色|
欧美激情区在线播放|
久久精品视频在线观看|
国产精品一二三|
亚洲网友自拍|