当前位置: 首页 > news >正文

什么网站免费做推广做游戏脚本的网站

什么网站免费做推广,做游戏脚本的网站,大连python培训,电子商务网站建设的语言及特点知识点 1.pragma once C和C中的一个非标准但广泛支持的预处理指令#xff0c;用于使当前源文件在单次编译中只被包含一次。 #pragma once class F {}; // 不管被导入多少次#xff0c;只处理他一次2.explicit C中的一个关键字#xff0c;它用来修饰只有一个参数的类构造函…知识点 1.pragma once C和C中的一个非标准但广泛支持的预处理指令用于使当前源文件在单次编译中只被包含一次。 #pragma once class F {}; // 不管被导入多少次只处理他一次2.explicit C中的一个关键字它用来修饰只有一个参数的类构造函数以表明该构造函数是显式的而非隐式的。当使用explicit修饰构造函数时它将禁止类对象之间的隐式转换以及禁止隐式调用拷贝构造函数。 3.noexcept 如果一个函数使用了 noexcept声明编译器会认为这个函数不会抛出异常从而可以对这个函数进行一些优化例如避免额外的堆栈操作和异常处理代码等从而提高代码效率。 如果一个函数没有使用 noexcept声明并且在函数内部抛出了异常这个异常会在函数的调用栈上一路传递直到被捕获如果捕获不到程序就会崩溃。而如果使用了 noexcept声明那么一旦函数内部抛出了异常程序就会直接调用 std::terminate()函数终止程序这可以帮助程序员快速发现和调试程序中的异常问题。 使用 noexcept声明可以帮助编写高质量的代码因为它可以明确表示函数是否会抛出异常从而让函数的调用者更容易正确地处理异常情况。 3.unique_ptr unique_ptrint p1(new int(1)); // 构造函数 unique_ptrBall ball make_uniqueBall(); // 推荐初始化方法 unique_ptrint p2(p1); // 复制构造函数 unique_ptrint p3 std::move(p1); // 通过move进行移动并不是真的移动 Ball *p ball.get();// 获得裸指针 ball.reset(new Ball());// 重新指向另一个Ball对象 unique_ptrint up1 make_uniqueint(100); unique_ptrint up2(up1.release());// 方式1转移控制权 unique_ptrint up3 std::move(up1);// 方式2转移控制权4.unordered_map std::unordered_mapchar, std::unique_ptrTrieNode children_; // 定义 children_.size(); // 拥有的容量 // 插入元素 children_.insert(std::make_pair(key_char, child)); children_.emplace(key_char, child);// 查找是否存在 if (children_.find(key_char) ! children_.end()) cal(); // 存在 if (children_.count(key_char) ! 0) cal(); // 存在children_.erase(key_char); // 删除 children_.swap(other_trie_node.children_); // 交换5.C类 类的public成员可以被任意实体访问 类的private成员不能直接被类的实体访问也不能被子类的实体访问但是可以被类的成员函数访问 类的protected成员不能直接被类的实体访问但是可以被子类访问也可以被类的成员函数访问 继承基类的派生类可以访问基类的public和protected成员,可以调用基类函数. 6.cstdint头文件 头文件中包括了一组具有特定宽度要求的整型别名以及指定他们范围的宏定义。 7.lock_guard 用于在作用域结束时自动释放互斥锁。std::lock_guard 用于管理互斥锁的加锁和解锁操作。它的主要作用是在构造函数中获取一个互斥锁然后在析构函数中自动释放该锁以确保在锁保护区域的结束时正确解锁。 std::lock_guard 的作用是获取互斥量的锁并在作用域结束时自动释放锁。这样可以避免手动管理锁的复杂性和风险同时也可以确保在使用共享资源时不会被其他线程打断。 简单来说就是使用 std::lock_guard 让开发者使用时不用关心 std::mutex 锁的释放。 8.forward和move 都为进行转移值操作。 children_[key_char] std::forwardstd::unique_ptrTrieNode(child); children_[key_char] std::move(child);9.condition_variable 线程控制中的条件变量只能与std::unique_lockstd::mutex使用唤醒线程。 std::condition_variable cond; cond.notify_one(); // 唤醒一个线程 cond.notify_all(); // 唤醒所有线程 cond.wait(t); // 等待操作即挂起线程操作等待释放互斥锁10.static_cast和dynamic_cast 强制类型转换但是dynamic_vast号耗时更高,但是可以检测类型是否相同如果转换后指针不为空说明类型相同。 总结 1. 构造函数需要将unordered_map也进行初始化。 2. 函数操作进行调用已有函数来实现包装性。 3. 函数尽量简洁明了语句更加精炼。 4. 双引用参数的函数调用要通过std::forward进行调用。 TrieNode(std::forwardTrieNode(trienode));5. 在进行unordered_map转移时要通过swap来转移否则会导致插入错误调试了好久才发现表里的元素对不上。 6. 在进行删除操作时要注意删除字符串要从末尾依次删除在删除过程中如果遇到了其他的尾节点那么就不能够再删除。
http://www.hkea.cn/news/14461808/

相关文章:

  • 成都网站建设麦格思聊城做wap网站价格
  • 网站优化公司上海中国建筑公司排名前20
  • 单页式网站模板wordpress 安装出现 过多重定向
  • 做美食的网站可以放些小图片什么网站有项目做
  • 怎么做百度网站免费的网站建设word文档
  • 淘宝店铺网站建设可行性报告建设工程信息哪个网站有详细信息
  • 医疗营销型网站建设wordpress查看图片插件
  • 通化网站推广学做衣服网 缤纷网站
  • 怎么备案网站空间wordpress小程序地图
  • 养殖p2p网站建设国网北京电力建设研究院网站
  • 柳州网站优化深圳网站建设公司为什
  • 西安网站维护兼职站群cms系统
  • 北京制作公司网站9377传奇世界
  • 常州建设局官方网站做网站流程 优帮云
  • 石家庄网站推广长湖南营销型网站
  • 好的建站软件app软件商城
  • 舟山企业网站建设网络广告投放渠道
  • 唐山市路桥建设有限公司网站php音乐外链网站源码
  • 威海建设集团网站百度电脑版官网下载
  • 成品网站免费模板站长推荐
  • 编制综合网站平台的公司排名网站分析步骤
  • 微信授权登录第三方网站开发双语言网站模版
  • 备案期间网站可以做竞价吗最近发生的重大军事新闻
  • 友情链接网站单县网站建设
  • 我要网站建设资金盘网站开发费用
  • 外贸拓客软件有用吗滁州seo网站排名优化
  • 天津公司建站宁波网站建设就找荣胜
  • 有区域名和主机怎么做网站做门户网站需要准备什么
  • 站酷高高手网站推广一般怎么做
  • 手机网站字体大小自适应广西网站建设的公司