每天学点C++ 类型转换工具,用于移除类型的引用和 cv(const 和 volatile) 限定符,并将数组或函数类型转换为指针类型。 得到衰减后的类型 #include <iostream> #include <type_traits> template <typename T> void printType() { // 使用 std...
Scrapy爬虫系列3:爬取百度热搜榜单
起始地址 https://top.baidu.com/board?tab=realtime 提取器 categories = response.xpath('//*[contains(@class, "category-wrap_iQLoo horizontal_1eKyQ")]') for category in categories: item = Doubanbooks...
Scrapy爬虫系列2:爬取豆瓣书籍排行榜
爬取网站 http://book.douban.com/ 起始地址:https://book.douban.com/subject/25862578/ 要将代码从使用MySQL数据库改为使用本地的SQLite数据库 • MySQL使用%s作为占位符,而SQLite使用?作为占位符。 self.dbpool = adbapi.ConnectionPool(‘sqlite3’, data...
C++系列21:forward
每天学点C++ 用于转发,通常与模板函数和右值引用一起使用 完美转发函数参数:在模板函数中,将参数转发给另一个函数,同时保持其值类别(左值或右值)。 语法: template <class T> T&& forward(typename std::remove_reference<T>::type& t) noexcept; 示例 ...
C++系列20:index_sequence_for与index_sequence和make_index_sequence
每天学点C++ 生成一个包含从 0 到 N-1 的整数序列的 std::index_sequence 在处理可变参数模板时,可以使用 std::index_sequence_for 来生成索引序列,从而展开参数包。 #include <iostream> #include <tuple> #include <utility> // 打印 tuple ...
C++系列19:tuple与tie
用于存储多个不同类型的值。它常用于需要将多个值组合在一起传递或返回的场景。 #include <iostream> #include <tuple> #include <string> // 返回多个值的函数 std::tuple<int, double, std::string> getPersonInfo() { return std::...
vs系列5:如何快速查看某行代码被谁修改了
工具-外部工具-添加: 标题:MyBlame(&B) 命令:C:\Program Files\TortoiseGit\bin\TortoiseGitBlame.exe 工具定位到这个exe 参数:$(ItemPath) /Line:$(CurLine) 这样会多一个:工具-MyBlame(&B) 以后就可以按住Alt,再按T,B就可以打开Blame对话框了。
Scrapy爬虫系列1:安装
需要Python 2.7或3.4及以上 需要安装pip 依赖 lxml, an efficient XML and HTML parser parsel, an HTML/XML data extraction library written on top of lxml, w3lib, a multi-purpose helper for dealing with URLs and...
AI系列9:科大讯飞发布星火大模型4.0:整体超越GPT-4 Turbo
在文本生成、语音理解、知识问答、逻辑推理和数学能力这五大日常体验较深的领域,星火大模型V4.0全面超越了GPT-4 Turbo 科大讯飞CEO刘庆峰还宣布,讯飞星火App在安卓端的下载量已超过1.31亿次。
vs系列4:clang与LLVM
传统的编译器通常分为三个部分,前端(frontEnd),优化器(Optimizer)和后端(backEnd)。在编译过程中,前端主要负责词法和语法分析,将源代码转化为抽象语法树;优化器则是在前端的基础上,对得到的中间代码进行优化,使代码更加高效;后端则是将已经优化的中间代码转化为针对各自平台的机器代码。 cl.exe是msvc里面的 clang-cl.exe是LLVM项目的一部分,是Cl...