丽水市住房和城建建设局网站页面设计服务收费标准是什么?

摘要:丽水市住房和城建建设局网站,网站页面设计怎么收费,郑州企业建设网站技术,想把自己做的网站放到网上模板 模板注意事项 模板的函数体和声明一定要在一起,即放在同一个.h文件中,而不能将
丽水市住房和城建建设局网站,网站页面设计怎么收费,郑州企业建设网站技术,想把自己做的网站放到网上模板 模板注意事项 模板的函数体和声明一定要在一起#xff0c;即放在同一个.h文件中#xff0c;而不能将其分开到cpp和h文件中模板的编译技巧就是尽量多编译#xff0c;模板很难查找错误模板的报错一般只有第一行有作用模板指定类型从左到右依次指定 模板推导 #pragma #…模板 模板注意事项 模板的函数体和声明一定要在一起即放在同一个.h文件中而不能将其分开到cpp和h文件中模板的编译技巧就是尽量多编译模板很难查找错误模板的报错一般只有第一行有作用模板指定类型从左到右依次指定 模板推导 #pragma #include iostream template typename V, typename T, typename U V add1(T data1, U data2) { return data1 data2; }template typename T, typename U auto add2(T data1, U data2) { return data1 data2; }//使用后置返回值,decltypeauto关键字 template typename T, typename U auto add3(T data1, U data2) - decltype(data1 data2) {std::cout Template Method!\n;return data1 data2; }//当存在模板和实例函数的时候模板推导使用模板而不是实例函数 auto add3(int data1, double data2) - decltype(data1 data2) {std::cout Instance Method!\n;return data1 data2; }void testTemplateDeduce() {add1double(12, 12.7); //必须指定返回值类型才能进行推断从中可以观察到的是模板参数可以只传递部分add2(12, 12.7); //使用auto关键字代替模板参数的返回值add3(12, 12.7); //使用尖括号显示指定推导的类型为模板函数 }模板的特化 注意函数的全特化必须位于泛化版本之前进行声明· //普通函数-特化-泛化//全特化即显示指定模板的样子但是实际上全部指定参数,模板自动推导 template void showLove(const char *str1, const char *str2) {std::cout Full specialization \n;std::cout str1 and str2 be there!; } //模板的特化与偏特化 template typename T, typename U void showLove(const T *str1, const U str2) {std::cout Generalization\n;std::cout str1 and str2 be there! }//函数模板是不能进行偏特化的比如下面的做法就会报错 // template void showLovedouble, U(const char *str1, const U str2) {} template typename U void showLove(const char *str1, const U str2) {std::cout 模板函数的重载实现模拟偏特化 std::endl; }//测试特化 void testSpecializition() { showLove(lin, cong); }非模板参数 //模板类型的默认值指定 int sub(int a, int b) { return a b; }//指定函数指针的类型 typedef int (*FuncType)(int, int); //定义函数指针FuncType//函数模板上还可以指定非模板参数,非模板参数只需要指明类型即可 template typename _Tp, typename _Up, typename _func FuncType auto addProxy(_Tp data1, _Up data2, FuncType func add) {std::cout template parameter\n;return func(data1, data2); }//非模板参数可以位于任何地方,但是目前非类型模板参数支持度有限 //整型或者枚举型 //指针类型 //左值引用类型 // auto或者decltype(auto) template typename T, int a 100 void nonTemplateParam() {T b str;std::cout b a \n; }void testFunc() {std::cout addProxy(2, 3, sub) \n;nonTemplateParamchar *, 110(); }网络编程[TODO] 取值只有两种0、1 函数 pthread_mutex_init pthread_mutex_destroy 9 摧毁一个互斥锁 pthread_mutex_lock 加锁操对互斥量进行减一即mutex–或-1 phread_mutex_unlock 解锁对互斥量进行加一即mutex或1同时将阻塞在该锁上的所有线程全部唤醒 phread_mutex_trylock 非阻塞式加锁正常情况下对一个信号量进行加锁如果该信号量已经被加锁pthread_mutex_lock会导致阻塞而try_lock并不会导致阻塞。EBUSY作为返回值