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

快速建设网站方案wordpress做新闻系统

快速建设网站方案,wordpress做新闻系统,深圳做网站哪家,网站建立连接不安全怎么处理1、解释器设计模式概述#xff1a; 解释器模式#xff08;Interpreter Pattern#xff09;是一种设计模式#xff0c;它主要用于描述如何构建一个解释器以解释特定的语言或表达式。该模式定义了一个文法表示和解释器的类结构#xff0c;用于解释符合该文法规则的语句。解…1、解释器设计模式概述 解释器模式Interpreter Pattern是一种设计模式它主要用于描述如何构建一个解释器以解释特定的语言或表达式。该模式定义了一个文法表示和解释器的类结构用于解释符合该文法规则的语句。解释器模式通常用于实现编程语言解释器、自定义脚本引擎等场景。 在解释器模式中有以下几个关键角色 抽象表达式Abstract Expression定义一个接口用于表示不同类型的表达式。 终结符表达式Terminal Expression实现抽象表达式接口的具体类用于解释终结符表达式。 非终结符表达式Non-Terminal Expression实现抽象表达式接口的具体类用于解释非终结符表达式。 上下文Context包含解释器需要的全局信息以及待解释的表达式。 客户端Client构建解释器并调用解释方法。 2、解释器设计模式的适用场景 当需要开发一个解释器用于解释特定的语言或表达式时。 当需要表示一个复杂的语法规则并且希望易于扩展和维护时。 当需要解释一些固定的文法如数学表达式、逻辑表达式等场景。 3、解释器设计模式的优点 易于扩展当需要增加新的文法规则时只需增加新的非终结符表达式类无需修改原有代码符合开闭原则。 解耦将文法规则的表示和解释过程分离使得代码结构更清晰。 易于维护每个文法规则对应一个非终结符表达式类当需要修改或维护某个规则时只需修改对应的类即可。 举例说明假设我们需要实现一个简单的计算器支持加法和减法运算。我们可以通过解释器模式构建表达式类分别表示加法和减法运算以便能够解析和计算输入的表达式。 4、解释器设计模式的缺点 执行效率较低解释器模式通常需要递归调用导致执行效率较低。 难以应对复杂的文法规则当文法规则非常复杂时解释器模式的类结构可能变得非常复杂难以维护。 5、用C实现一个解释器设计模式例子 #include iostream #include string #include memory #include stdexceptclass Expression { public:virtual ~Expression() default;virtual int interpret() const 0; };class AddExpression : public Expression { private:std::shared_ptrExpression leftExpression;std::shared_ptrExpression rightExpression;public:AddExpression(std::shared_ptrExpression left, std::shared_ptrExpression right): leftExpression(left), rightExpression(right) {}int interpret() const override {return leftExpression-interpret() rightExpression-interpret();} };class SubtractExpression : public Expression { private:std::shared_ptrExpression leftExpression;std::shared_ptrExpression rightExpression;public:SubtractExpression(std::shared_ptrExpression left, std::shared_ptrExpression right): leftExpression(left), rightExpression(right) {}int interpret() const override {return leftExpression-interpret() - rightExpression-interpret();} };class NumberExpression : public Expression { private:int number;public:explicit NumberExpression(int number) : number(number) {}int interpret() const override {return number;} };std::shared_ptrExpression parseExpression(const std::string expression) {size_t pos expression.find_first_of(-);if (pos std::string::npos) {throw std::invalid_argument(Invalid expression);}std::shared_ptrExpression left std::make_sharedNumberExpression(std::stoi(expression.substr(0, pos)));std::shared_ptrExpression right std::make_sharedNumberExpression(std::stoi(expression.substr(pos 1)));if (expression[pos] ) {return std::make_sharedAddExpression(left, right);} else {return std::make_sharedSubtractExpression(left, right);} }int main() {std::string input;std::cout Enter an expression (e.g., 32 or 7-4): ;std::cin input;try {auto expression parseExpression(input);std::cout Result: expression-interpret() std::endl;} catch (const std::exception e) {std::cerr Error: e.what() std::endl;}return 0; } 在这个例子中我们定义了一个Expression接口它包含一个纯虚函数interpret用于计算表达式的值。我们实现了三个具体的表达式类AddExpression用于表示加法表达式SubtractExpression用于表示减法表达式和NumberExpression用于表示数字。 parseExpression函数接受一个字符串参数它解析输入的字符串并根据运算符构建对应的Expression对象。main函数从用户获取输入的表达式调用parseExpression函数构建表达式对象并计算结果。
http://www.w-s-a.com/news/466107/

相关文章:

  • 杭州做微信网站软件公司网站建设毕业设计中期进度报告
  • 怎么做谷歌这样的网站如何建立一个网站放视频
  • 园区网站建设调研报告北京朝阳区哪里有网站开发
  • 网站角色权限wordpress 优化版
  • 购物网站ppt怎么做网络公司注册多少钱
  • 学做衣服上什么网站好贴吧高级搜索
  • 贵州 跨境电商网站建设做淘宝店铺有哪些好的网站
  • 广州正规网站制作公司网站搭建公司
  • ui设计零基础好学吗珠海网站建设优化推广
  • 网站开发多少费用火车头采集wordpress发布时间
  • 有没有做皮艺的网站教育培训网站建设ppt
  • 建设外贸商城网站制作如何建设景区旅游网站
  • 网站建设服务的具体条件怎么建设一个响应式网站
  • 做flash的网站wordpress设置前台投稿
  • 商务网站开发文档迅雷资源做下载网站
  • 无极磁铁网站如何把地图放到自己做的网站上
  • 青浦赵巷网站建设公司网站开发需求文档
  • 苏州网站建设的公司哪家好无锡网站制作那些
  • 装饰公司网站模板科技成果鉴定机构
  • 给公司做的东西放到私人网站上十堰为企业做网站的单位
  • 手机网站建设价钱手机自己做网站
  • 网站建设属于哪种公司电子商务查询网站
  • 工程建设标准强制性条文最新版本网站关键词排名优化应该怎么做
  • 网站网页设计内容品牌高端网站建设公司
  • 网站开发报价 福州中国建筑网官网手机版
  • 网站 图片 自动往右移专门做定制化的网站
  • 最好用的cms手机百度关键词排名 网站优化软件
  • 凉山州城乡规划建设局网站长沙网站建设哪家强
  • 广州网站开发创意设计公司企业自己怎么制作网站首页
  • 曲靖 曲靖网站建设软件(app)开发wordpress 没有远程发布