
C/C++
C/C++相关
zhugl0
编译器开发、优化
展开
-
C++根据输入的字符串输出所有成对和三元组组合出现的频数
C++字符串的使用示例: 输入一个不区分大小写的字符串,输出所有成对和 三元组出现的组合的频数。实现代码如下:#include <iostream>#include <string>#include <map>using namespace std;string substr(const string &src, int start, int end){ string result = ""; int len = src.le原创 2020-08-30 11:41:55 · 452 阅读 · 0 评论 -
C/C++中使用正则表达式判断输入是否为16进制
识别16进制的内容使用的表达式为:0[xX][[0-9a-fA-F]]+,识别10进制的内容使用的表达式为:"^[0-9]*$"。 在C++中使用正则表达式需要引入#include <regex>头文件,模式匹配使用regex_match函数。C++ 11中function template std::regex_match:C-strings (1)template <class charT, class traits> bool regex_match (co原创 2020-08-30 00:15:05 · 7486 阅读 · 0 评论 -
常用string.h函数实现整理
memset 、 memcpy 、 memmove 、 strcpy、 strlen 方法的实现整理。在<string.h>头文件中声明的内存管理函数原型如下:void *memcpy (void *, const void *, size_t);:从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中,参数分别为:(void *dest, void *src, size_t n),将src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。void *m原创 2020-08-28 13:17:45 · 515 阅读 · 0 评论 -
C/C++中常用的pragma指令
pragma指令用于指定特定于计算机或操作系统的编译器功能。其语法为:#pragma token-stringC和C ++编译器可识别的token-string有以下:1 标记的仅C++支持。更多指令说明及使用请见:https://docs.microsoft.com/en-us/cpp/preprocessor/pragma-directives-and-the-pragma-keyw...原创 2020-04-04 17:26:34 · 974 阅读 · 0 评论 -
C++ 固有的不可移植特性
部分不可移植的特性 为了支持底层编程,C++定义了一些固有的不可移植的特性,即因机器而异的特性,当将含有不可移植特性的程序从一台机器转移到另一台机器上时,通常需要重新编写该程序。1 位域 类可以将其非静态数据成员定义成位域,在一个位域中含有一定数量的二进制位。当一个程序需要向其他程序或硬件设备传递二进制数据时,通常会用到位域。位域在内存中的布局是与机器相关的且位域的类型必须是整型或枚举类...原创 2020-03-27 18:20:11 · 410 阅读 · 0 评论 -
C++ namespace及其作用域
1 namespace由于大型程序常会使用多个独立开发的库,这些库又会定义大量全局的类、函数、模板等,不可避免的会发生某些名字相互冲突的情况,多个库将名字放置在全局命名中将导致命名空间污染。为防止名称冲突,可使用多个命名空间将全局的命名空间为不同的作用域。一般而言,命名空间可由关键字namespace和名称组成,在单个文件内部使用也可单独由namespace关键字组成一个命名空间,称为未命名的...原创 2020-03-01 21:40:02 · 4014 阅读 · 0 评论 -
C++ 基础IO操作
1.基本IO库文件C++为处理不同类型IO操作,分别在iostream中定义了用于读写流的基本类型,fstream中定义了读写文件的类型,sstream中定义了读写string对象的类型。如下所示:iostream: istream, wistream 从流读取数据ostream, wostream 向流写入数据iostream, wiostream 读写流fstream: ifstr...原创 2020-02-26 15:45:04 · 961 阅读 · 0 评论 -
《Effective C++》学习笔记二
目录 1. 若所有的参数皆需类型转换,请为此采用non-member函数2. 写一个不抛异常的swap函数3. 尽可能的延后变量定义出现的时间4. 尽量少做转型动作5. 避免返回handles指向对象内部成分6. 为“异常安全”而努力是值得的7. 透彻了解1inline的里里外外8. 将文件间的编译依存关系降至最低9. 确定你的public继承塑模出is-a关系10. 避免遮...原创 2020-01-04 22:04:42 · 244 阅读 · 0 评论 -
《Effective C++》学习笔记一
目录 1. 将C++看作一个语言联邦2. 尽量使用 const,enum,inline 替换 #define)3. 尽可能使用 const4. 确定对象使用之前已被初始化5. 了解C++默认编写并调用哪些函数6. 若不想使用编译器自动生成的函数,就明确拒绝7. 为多态基类声明 virtual 析构函数8. 别让异常逃离析构函数9. 不在构造和析构函数调用 virtual 函数...原创 2019-12-22 17:42:07 · 693 阅读 · 0 评论