namespace

C++基础总结(4)-----指针

耗尽温柔 提交于 2020-02-01 01:04:08
指针是一个变量,其存储的值是地址,而不是值本身。 (有点类似于组成原理里面的变址寻址) 在讨论指针之前,我们先来看看如何寻找常规变量的地址。只需对变量引用取地址符(&)就行了。 如下面一段代码: #include <iostream> using namespace std; int main() { int dounts=6; double cpus=5.6; cout<<"dounts = "<<dounts<<", address is "<<&dounts<<endl; cout<<"cpus = "<<cpus<<", address is "<<&cpus<<endl; return 0; } *运算符被称为间接值或者解除引用运算符。将其用于指针,便可以得到该地址存储的值。 duck变量为int型变量,其分配的地址是1000,里面存储的值是12,而birding是一个int型指针变量它本身的地址是1006,而在它里面存储的值duck的地址1000。 所谓指针指的是存储的其他变量的地址。 指针的声明和初始化 int *ptr;//声明一个int型指针 *两边的空格是可选的。 传统上,C程序员使用这种格式。 int *ptr;//强调*ptr是一个int类型 C++程序员通常使用下面这种方式 int* ptr; 强调int*之一中指向int类型的指针

C++primer习题--第3章

喜你入骨 提交于 2020-01-31 03:54:17
本文地址: http://www.cnblogs.com/archimedes/p/cpp-primer-chapter3-ans.html ,转载请注明源地址。 【习题 2.11】 编写程序,要求用户输入两个数——底数( base)和指数( exponent),输出底数的指数次方的结果。 #include <iostream> #include <math.h> #include <string> using namespace std; int main( ) { int base, exp; long result=1; cout<<"请输入底数和指数:"<<endl; cin>>base>>exp; if(exp<0) { cout<<"指数不能为负数!"<<endl; return -1; } for(int i=1; i <= exp; i++) result *= base; cout<<base<<"的"<<exp<<"次方为"<<result<<endl; system("PAUSE"); return 0; } 【习题 3.7】 编一个程序读入两个 string 对象,测试它们是否相等。若不相等,则指出两个中哪个较大。接着,改写程序测试它们的长度是否相等,若不相等,则指出两个中哪个较长。 #include <iostream> #include <string>

带你了解Mybatis中getMapper()的来龙去脉

China☆狼群 提交于 2020-01-31 02:43:16
getMapper用法在熟悉不过了,指明一个DAO接口的class,调用他的方法,即可从数据库中返回 ,是不是感觉很神奇? 其实都是通过JDK的动态代理来实现,getMapper返回的即一个代理对象,通常在写动态代理时,代理对象处理完成后还有调用被代理对象的对应方法,而像Mybatis这种面向接口的思想,没有被代理的对象,所以,Mybatis通过自己一系列操作后直接返回。 源码分析 一、加载MappedStatement 首先Mybatis要加载mapper下的所有insert、select、update、delete标签,并且封装成一个个MappedStatement对象,保存在Configuration下的Map<String, MappedStatement>中,具体实现在 XMLStatementBuilder#parseStatementNode() 和 MapperBuilderAssistant#addMappedStatement() 的方法中(addMappedStatement参数不多,也就20个),其中 this.configuration.addMappedStatement()就是保存在Configuration配置类中 这里的Map键为namespace+标签的id,他在 MapperBuilderAssistant

opencv:图像的算术操作

不打扰是莪最后的温柔 提交于 2020-01-30 22:00:16
前提:输入图像的大小和类型必须一致 越界处理: 大于255,则会减去255 小于0,则等于0 基本计算,加减乘除 #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { Mat src1 = imread("f:/temp/images/WindowsLogo.jpg"); Mat src2 = imread("f:/temp/images/LinuxLogo.jpg"); //namedWindow("003-windowsSrc", WINDOW_AUTOSIZE); //namedWindow("003-linuxSrc", WINDOW_AUTOSIZE); //imshow("003-windowsSrc", src1); //imshow("003-linuxSrc", src2); /* Mat dst1;// ** add(src1, src2, dst1); imshow("add", dst1); Mat dst2; // 减 subtract(src1, src2, dst2); imshow("subtract", dst2); Mat dst3; // 乘

php命名空间

瘦欲@ 提交于 2020-01-30 18:06:53
阅读目录 命名空间的介绍 命名空间的三种访问方式 命名空间的介绍 在一个php文件中声明两个相同的函数名的函数, 会报致命错误 <?php function getmsg(){ echo '123'; } function getmsg(){ echo '456'; } Fatal error: Cannot redeclare getmsg() (previously declared in E:\phpstudy_pro\WWW\project1\public\test.php:10) in E:\phpstudy_pro\WWW\project1\public\test.php on line 15 这时候我们可以使用命名空间来解决这个问题 <?php namespace ms1; function getmsg(){ echo '123'; } namespace ms2; function getmsg(){ echo '456'; }getmsg(); 这样就相当于分别在两个空间里定义相同名的函数 但是直接调用getmsg函数的时候会直接当前空间下离它最近的函数: 456 如果要访问第一个名称空间中的函数则: <?php namespace ms1; function getmsg(){ echo '123'; } namespace ms2; function

C++起航

假装没事ソ 提交于 2020-01-30 14:30:37
1.1 C++输入与输出 #include <iostream> #include <stdlib.h> using namespace std; //要求:用户输入一个整数,将该整数分别以8进制,10进制,16进制打印在屏幕上 //要求:提示用户输入一个布尔值(0 或 1),以布尔方式打印在屏幕上 int main() { cout << "Please enter a number:" << endl;//输出 int x = 0; cin >> x;//输入 cout << oct << x << endl;// 八进制 cout << dec << x << endl;// 十进制 cout << hex << x << endl;//16进制9 cout << "请输入一个布尔值(0或1):" << endl; bool y = false; cin >> y; cout << boolalpha << y << endl; //boolalpha,函数名称,功能是把bool值显示为true或false system ("pause"); //系统暂停 return 0; } Please enter a number: 17 21 17 11 请输入一个布尔值(0或1): 0 false 请按任意键继续. . . Process returned 0 (0x0)

牛客小白月赛21

余生长醉 提交于 2020-01-30 04:48:36
A题: 就是三点求圆心 # include <bits/stdc++.h> using namespace std ; struct Point { double x , y ; } ; Point get_pc1 ( Point p1 , Point p2 , Point p3 ) //求圆心 { double a , b , c , d , e , f ; Point p ; a = 2 * ( p2 . x - p1 . x ) ; b = 2 * ( p2 . y - p1 . y ) ; c = p2 . x * p2 . x + p2 . y * p2 . y - p1 . x * p1 . x - p1 . y * p1 . y ; d = 2 * ( p3 . x - p2 . x ) ; e = 2 * ( p3 . y - p2 . y ) ; f = p3 . x * p3 . x + p3 . y * p3 . y - p2 . x * p2 . x - p2 . y * p2 . y ; p . x = ( b * f - e * c ) / ( b * d - e * a ) ; p . y = ( d * c - a * f ) / ( b * d - e * a ) ; // r = sqrt((p.x-p1.x)*(p.x-p1.x)+(p.y

C++ 命名空间

心已入冬 提交于 2020-01-29 06:05:20
#include <iostream> using namespace std; /**************************************** C++ 命名空间 在 C++ 应用程序中。例如,您可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断您所使用的是哪一个 xyz() 函数。 因此,引入了命名空间这个概念,专门用于解决上面的问题,它可作为附加信息来区分不同库中相同名称的函数、类、变量等。使用了命名空间即定义了上下文。本质上,命名空间就是定义了一个范围。 1. 命名空间内部可以包含一切可以出现在全局作用域中的声明:类、变量及其初始化、函数及其定义、模板和其他命名空间 2. 函数和类内部不可定义命名空间 3. 命名空间具有不连续性,即namespace nsp{}在nsp不存在时创建nsp,在nsp存在时打开nsp 4. 命名空间的不连续性使得我们可以将声明和实现分隔。既可以在域内实现,也可以在域外实现 5. 嵌套命名空间也被允许 *****************************************/ namespace first_space{ int sameV = 5; void func(){ cout << "space_1" << endl; } } namespace

详细解读PHP的命名空间

此生再无相见时 提交于 2020-01-28 23:48:26
PHP培训 一:命名空间里的namespace关键字和__NAMESPACE__常量的运用 PHP支持两种抽象的访问当前命名空间内部元素的方法,__NAMESPACE__ 魔术常量和namespace关键字。 常量__NAMESPACE__会储存当前命名空间的名字字符串,如果当前是全局非命名空间,则保存的是空字符串。 关键字 namespace 可用来显式访问当前命名空间或子命名空间中的元素。它等价于类中的 self 操作符。如果不在当前是全局环境的话,那么显式访问的就是全局限定的元素。 __NAMESPACE__实例: <?php namespace Index\Name{ var_dump(__NAMESPACE__); //打印string(10) "Index\Name" function foo($classname){ return __NAMESPACE__.'\\'.$classname; } } namespace{ var_dump(__NAMESPACE__); //打印string(0) "" var_dump(Index\Name\foo('ceshi')); //打印string(16) "Index\Name\ceshi" } ?> namespace实例: <?php namespace Index\Name\Index{ function foo(

C++命名空间 "using namespace"

杀马特。学长 韩版系。学妹 提交于 2020-01-28 03:10:21
C++命名空间 什么是命名空间呢?按照字面意思就是命名了一个空间,实际上,命名空间可以理解为定义了一个范围,定义了上下文。作为附加信息来区分不同库中相同名称的函数、类、变量等。用计算机系统中文件夹的例子来说明,同一个文件夹下可以包含很多文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。 回到我们的C++中来,初学者定会被告知每个程序之前必须要加上: # include <iostream> using namespace std ; 实际上这里的 using namespace std; 就是告知编译器使用std 标准命名空间,后续的代码将使用这个命名空间中的名称。 当然我们也可以自己定义命名空间。 定义命名空间 命名空间的定义使用关键字 namespace ,后面跟着命名空间的名称,如: namespace namespace_name { //代码声明 } 定义了一个命名空间之后可以使用 命名空间名 + :: 来访问该命名空间内的内容。 如以下的实例 1 : # include <iostream> using namespace std ; // 第一个命名空间 namespace first_space { void func ( ) { cout << "Inside first_space" << endl ; } } // 第二个命名空间