C++ Tip2

一、sizeof
    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。
    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。
    具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:
    数组——编译时分配的数组空间大小;
    指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4);
    类型——该类型所占的空间大小;
    对象——对象的实际占用空间大小;
    函数——函数的返回类型所占的空间大小。函数的返回类型不能是void。
**************

二、strlen
    strlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。
    它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL。

时间: 2024-10-21 17:49:25

C++ Tip2的相关文章

code force 2B The least round way

There is a square matrix n?×?n, consisting of non-negative integer numbers. You should find such a way on it that starts in the upper left cell of the matrix; each following cell is to the right or down from the current cell; the way ends in the bott

检验上传图片大小、尺寸、类型的两种实现方案

做图片上传功能时,我们经常会遇到一个问题就是,就是要对上传的图片进行一个校验,校验的东西包括图片的大小.尺寸(即宽和高)以及图片的类型. 今天我主要介绍两种方式来进行图片的校验,一种是在前端用js校验,另一种是放在服务器端校验.接下来我们来进行介绍 第一种:放在前端用js校验 下面直接贴源代码,注释也写在代码里面 1 <%@ page language="java" contenttype="text/html; charset=UTF-8" pageenco

JS简单验证

1.验证是否全为数字 2.验证邮箱 3验证手机号 4.验证身份证号 5.验证时间格式 下面是代码,可直接用,有注释 <html> <meta charset="utf-8"> <head> <title></title> </head> <script type="text/javascript"> //验证是否全部为数字 function checkNum(){ //获取num的值

配置树莓派3和局域网NTP服务器实现内网时间校准

一.配置局域网NTP服务器 1.安装ntp-4.2.8p5-win32-setup.exe 下载地址:https://www.meinbergglobal.com/english/sw/ntp.htm按默认步骤安装即可. 2.修改配置文件ntp.conf 配置文件默认路径为:C:\Program Files (x86)\NTP\etc\ntp.conf去掉 [plain] view plain copy #server 127.127.1.0 #fudge 127.127.1.0 stratum

1.4 窗口部件的布局

Qt第一章的最后一个内容是部件的布局. 书中的例子用到了一个QHBoxLayout类 这个类能够将放置在布局内的控件自动调整大小和位置,我们不需要手动去调整,比较方便. 第10行:创建一个QWidget对象 QWidget是所有用户界面对象的基类.在这里将会用作其它部件的父对象,在这之上显示相应的控件.也就是说它将作为程序的主窗口. 第11行:设置窗口标题 字面意思上看也的确是设置窗口的标题. 第13行:创建一个QSpinBox对象 用到的函数:QSpinBox::QSpinBox ( QWid

javascript:class=&quot;active&quot;的几个方法

方法一: html代码: <ul id="menu1"> <li class="hover" onmouseover="setTab(1,0)"><a href="#">新闻</a></li> <li onmouseover="setTab(1,1)"><a href="#">评论</a>&l

定点数与浮点数

I.定点数 所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的.通常将定点数据表示成纯小数或纯整数,为了将数表示成纯小数,通常把小数点固定在数值部分的最高位之前:而为了将数表示成纯整数,则把小数点固定在数值部分的最后面,如下图所示: 图中所标示的小数点在机器中是不表示出来的,而是事先约定在固定的位置.对于一台计算机,一旦确定了小数点的位置,就不再改变. 假设用n位来表示一个定点数 ,其中 用来表示数的符号位,通常放在最左位置,并用数值0和1分别表示正号和负号,其余位数表示它的量值.如果定

Spark的应用程序执行模型

今天看了一篇名为Top 3 Troubleshooting Tips to Keep You Sparking的文章,讲述了一些编写Spark程序需要注意的地方,看完之后想要总结一下. Spark执行模型,总结为官方的架构图: 本文主要讨论Driver和Worker. 我们知道,对于Spark开发的分布式应用程序,和写普通的scala程序基本类似.所以这时往往会陷入一些误区: 在Spark开发的应用程序的对象里,我给他们分成2类对象: 1.闭包内的对象:即在类似map, filter, redu

Spark集群任务提交

1. 集群管理器 Spark当前支持三种集群管理方式 Standalone-Spark自带的一种集群管理方式,易于构建集群. Apache Mesos-通用的集群管理,可以在其上运行Hadoop MapReduce和一些服务应用. Hadoop YARN-Hadoop2中的资源管理器. Tip1: 在集群不是特别大,并且没有mapReduce和Spark同时运行的需求的情况下,用Standalone模式效率最高. Tip2: Spark可以在应用间(通过集群管理器)和应用中(如果一个SparkC