【C++基础 03】do...while(0)妙用】的更多相关文章

javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为0 ,将余数从下上连接起来就是二进制 10---->1010 二进制转十进制:将二进制的每一位乘以2^n ,n从0开始,n每一次加一,在将结果相加. 1001 ---->  1*2^0 +0*2^1 +0*2^2+1*2^3 = 9 将二进制换为八进制: 方式一:二进制--->十进制---&…
[题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以及用户输入和界面显示的方式等,本文尽量把遇到的概念都解析清楚,但又避开复杂的数学方面的知识,希望对没有接触过3D开发的同学有所帮助. [系列索引] 从零3D基础入门XNA 4.0(1)——3D开发基础 从零3D基础入门XNA 4.0(2)——模型和BasicEffect [文章索引] Model模型…
03.NetCore2.0下Web应用之搭建最小框架 这里我们不使用VS2017或者CLI命令的方式创建Asp.Net Core 2.0网页应用程序,而是完全手工的一点点搭建一个Web框架,以便更好的理解Asp.Net Core 2.0网页应用程序的最小脉络框架.  ------------------------------------------------------------------------------------------------------------ 写在前面:这是…
线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daemon):一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束 常见的守护线程:垃圾回收机制 例子1:如何将一个线程设置成守护线程 package li.thread.method; public class ThreadMethodExercise { public static void…
[题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过游戏以及3D相关的开发,所以我来从另一个角度整理下入门XNA.本文尽量少涉及3D及数学方面的知识,因为同类文章介绍的挺多的. [系列索引] 从零3D基础入门XNA 4.0(1)——3D开发基础 从零3D基础入门XNA 4.0(2)——模型和BasicEffect [文章索引] XNA项目的结构 XN…
javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( &&, || , !) 字符串的比较 字符串按字符在unicode中的码位来比较大小,并且会从开始首位字符比较大小,如果相等会比较下一位字符,直到比较出大小或字符都比较完为止. alert("101"<"3"); 返回true 2.程序流程控制 一…
为什么说do while(0) 妙?因为它的确就是妙,而且在linux内核中实现是相当的妙,我们来看看内核中的相关代码: #define db_error(fmt, ...) \ do { \ fprintf(stderr, "(error): "); \ fprintf(stderr, fmt, ##__VA_ARGS__); \ } while (0) 这只是个普通的调试信息的输出,有人便会认为,你这不是多此一举吗?去掉do while(0)不一样也实现了吗?其实不然,我们看看例子…
Thread.Sleep(0)妙用 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) .既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么…
零基础快速入门SpringBoot2.0 (一) 一.SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 1.依赖版本jdk8以上, Springboot2.x用JDK8, 因为底层是 Spring framework5, 2.安装maven最新版本,maven3.2以上版本,下载地址 :https://maven.apache.org/download.cgi 3.Eclipse或者IDE 4.新特性 5.翻译工具:https://t…
第1章 课程快速预览(必看!!!)在这一章节中,老师讲带领你快速预览课程整体.其中,涉及到为什么要做这么一门实战课程.制作一个小程序的完整流程是怎么样的,以及如何做项目的技术选型. 第2章 30 分钟快速入门微信小程序(已掌握,可略过)在这一章节中,老师讲带领你从如何注册微信小程序开发者账号.工具的下载开始,到完成第一个小程序,再到组件与 API 的使用整个过程,最后来总结微信原生小程序的缺点. 第3章 30 分钟快速入门 Vue.js 框架(已掌握,可略过)在这一章节中,老师将带领你从第一个…
086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明):有些步骤和相关知识点缺乏文字描述,可能会难以理解.读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的"关于博主&quo…
我的主题是,有时候知道一些细节会让你写出更好的代码. ============================================ 之前学coocs2d-x的时候,发现有非常多do...while(0)的写法,一開始不明确为什么如此写,(起不到循环的作用),然后找了一下资料,发现这东西用处还蛮多的.如今来总结一下: do...while(0)的妙用. 1.避免goto的使用 比方说我们须要在函数中处理一些错误.遇到错误则退出函数.当然退出之前我们须要释放一下资源.比方以下这样子: b…
连载目录    [已更新最新开发文章,点击查看详细] LINQ 查询基于 .NET Framework 版本 2.0 中引入的泛型类型. 无需深入了解泛型即可开始编写查询. 但是,可能需要了解 2 个基本概念: 创建泛型集合类(如 List<T>)的实例时,需将“T”替换为列表将包含的对象类型. 例如,字符串列表表示为 List<string>,Customer 对象列表表示为 List<Customer>.泛型列表属于强类型,与将其元素存储为 Object 的集合相比…
Apache Cassandra 4.0已经发布了Beta版,这是第一个支持JDK 11及更高JDK版本的Cassandra版本.   时延对于Apache Cassandra用户来说是个显而易见的关注点,所以大家对JDK 11中引入的全新低时延垃圾收集器ZGC(Z Garbage Collector)寄予厚望.   我们将看到Cassandra 4.0带来了强大的性能改进,而一些新的垃圾收集器(ZGC.尤其是Shenandoah)的上线很大程度上加强了这些提升改进的效果.   经作者测试,Ca…
工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期 select NOW() -- 结果:2015-10-28 22:41:11 ),NOW() -- 结果 2015-10-28 22:43:34 0 2015-10-28 22:43:34 ),SYSDATE() -- 结果 2015-10-28 22:46:48 0 2015-10-28 22:46:52 -- NOW()是sql执行前就得到,而SYSDATE()是该函数执行时才得到,一般来说NOW()已经足够…
03.01逻辑运算符 &&,and ||,or xor 这里只强调一点用and或者or的话,记得加上括号,不然可能出错,至于原因我也不是很清楚,反正尽量直接用&&,||就行了,C中也是用这两个. 03.02位运算符(Bitwise Operators) &,|,^ php中的位运算符也是针对整数.除非两个运算符都为字符串,不然就将其中一个不是整数的转换成整数,如果两个都是字符串,则就算的长度以比较短的为主(除了|外是比较长的为主),按照字符为单位(每一个字符都转换成…
关于本教程 本系列是在之前的基础上进行了修改更新,原来的内容显得过于简单,但都是重点,这次对于过于简单部分增加了更详细的内容. 目前国内越来越重视软件测试,人才的缺口也是比较大的,为了帮助大家快速的学习测试知识来找到满意的工作,特此来分享本系列的课程.本教程的重点是黑盒测试基础知识和数据库部分的内容,其他部分也会介绍一些. 学习方法 软件测试自学指南 软件测试工程师修炼之道 准备知识 一.黑盒测试基础知识 参考教材:软件测试 (美)佩腾(Patton) 中文第一版:http://download…
目录 数据类型 基本数据类型 整形Int的内置方法 字符串Str的内置方法 列表(待补充) 流程控制 分支结构if...else... for循环 循环控制 while循环 函数 函数的名称与格式 参数 返回值 作用域 递归和lambda 内置函数 正则表达式 包 元字符 内置属性 数据类型 基本数据类 数字[整型int/long,浮点型float/complex] Python3已经把int和long整合了, 相互转化会自动进行 int在32bit机器32位宽,64bit机器64bit宽. i…
一.JMS介绍和使用场景及基础编程模型 简介:讲解什么是小写队列,JMS的基础知识和使用场景 1.什么是JMS: Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口 2.JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity).这里,JDBC 是可以用来访问许多不同关系数据库的 API 3.使用场景: 1)跨平台 2)多语言 3)多项目 4)解耦 5)分布式事务 6)流量…
一.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-starter 2.starter主要简化依赖用的 spring-boot-starter-web  ->里面包含多种依赖 3.几个常用的starter spring-boot-start…
一.SpringBoot2.x使用Dev-tool热部署 简介:介绍什么是热部署,使用springboot结合dev-tool工具,快速加载启动应用 官方地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-devtools 核心依赖包: <dependency> <groupId>org.springframework.boot</gr…
** Linux基本操作常用命令(三) ** Linux的软件包 Linux的软件把分为“源码包”和“二进制包” 源码包:免费,开源 二进制包:系统默认包,即RPM包(上一节我们通过rpm卸载过openJDK),比较常用 特点: * 经过编译 * 安装,卸载,升级,查询直接使用命令来操作即可 * 安装速度比源码包更快,省略编译过程. * 安装具有依赖性 比如:安装某个包03,前提需要安装了某个包02,而安装某个包02,又需要提前安装某个包01,即,在安装包03时,如果没有安装前几个包,那么该包0…
本文源码:GitHub·点这里 || GitEE·点这里 一.Http协议简介 1.概念说明 HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议来传递数据:HTML文件.图片.查询数据等.HTTP协议基于客户端-服务端架构模式.浏览器作为HTTP客户端通过URL向服务端即WEB服务器发送请求.Web服务器根据接收到的请求后,处理完请求后向客户端发送响应信息. 2.协议特点 简单快速 请求服务器时,只需传送请求方法和路径.请求类型常用GET.PO…
原文地址:http://www.work100.net/training/java-basic-syntax.html 更多教程:光束云 - 免费课程 基础语法 序号 文内章节 视频 1 第一个Java程序 2 基本语法 3 Java标识符 4 Java修饰符 5 Java变量 6 Java数组 7 Java枚举 8 Java关键字 9 Java注释 10 Java空行 11 继承 12 接口 13 Java源程序与编译型运行区别 请参照如上章节导航进行阅读 一个 Java 程序可以认为是一系列…
2.2.3 head-tail 命令 #------head #head pass #查看头部内容,默认前10行 #head -n5 pass #查看头部前5行,使用-n指定 #-------tail #tail pass # tail -20 /var/log/secure #tail -f /var/log/messages #-f查看文件尾部的变化 # tailf /var/log/messages # 查看文件尾部的变化 2.2.4 grep 过滤数据 #----------grep过滤…
sequence 序列 sequence序列是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于没有引入对象的概念,暂时说元素) 序列可以包含一个或多个元素,也可以没有任何元素 我们之前所说的基本数据类型,都可以作为序列的元素.元素还可以是另一个序列,以及我们以后的其他对象. 序列有两种:tuple(定值表:也叫元组):和list(列表) s1 = (2,1.3,'love',5.6,9,False) #是一个tuples2 = [True,5,'smile'] #是一个list prin…
3 D (3.1)rotateY 围绕着Y轴进行旋转 (1)正数是(站在右边推),负数是(站在左边推) (2.1)定义元素背过去是否可见 backface-visibility: visible|hidden; 说明:visible表示可见,hidden表示不可见 测试贝塞尔曲线的网址:http://xuanfengge.com/easeing/ceaser/ (1)translateZ 就是在Z轴上来回移动,但是如果没有透视的情况下,完全看不出效果,所以,一般transform:transla…
学习集合的一些知识.集合:泛型集合,非泛型集合;ArrayList,Hashtable,List<T>,Dictionary<k,v>等,还有一些集合的常用方法. 一:集合的介绍 1:集合的特点 泛型集合     using System.Collections.Generic 非泛型集合   using System.Collections *:对于数组而言,长度是一定的,可能造成内存的浪费,但是集合可以解决这个问题,它的长度是动态变化的. *:可以解除数组对数据类型的限制.集合…
数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录. ADO.NET基础      它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口. 在VS中也可以添加数据库,也可以在其中使用SQL语句,不需要在sql数据库中创建,这样用起来就特别方便,便于数据库的快速读取.<基于服务的数据库>        在VS中创建的mdf和数据库中的一样,它跟随着项目走,用起来方便运行时会自动附加(Attach).打包时首先关闭mdf与数据库的连接,才行. {ado.ne…
1.使用函数 //server.js var http = require("http"); var output = require("./output"); http.createServer(function(request, response){ response.writeHead(200, {"Content-Type":"text/html; charset=uf-8"}); if (request.url!==…