#include <iostream>
#include <vector>
usingnamespace std;template<class T,class U>
class Conversion
{
private:typedef char Small;class Big{char dummy[2];};static Small test(U);static Big test(...);static T makeT();
public:enum{ exists =sizeof(test(makeT()))==sizeof(Small) };enum{ exists2Way =exists && Conversion<U,T>::exists};enum{sameType=false};
};template<class T>
class Conversion<T,T>
{
public...
class A{ virtual void f(){};};class B: public A{}; 在main方法中验证 Person* p = new son(); if (typeid(*p) == typeid(son)) { std::cout << "equal" << std::endl; } else { std::cout << "not equal" << std::endl; } 输出为 equal 下边俩种情况会导致输出为 not equal1. typeid(*p) == typeid(son) 中少了"*" 写成: typeid(p) == typeid(son) 2. A 中必须要有虚函数,少了“vi...
判断一个字符串是否为回文,如“goddog”。代码: 1 #include <iostream>2 #include <string>3 #include <stdio.h>4usingnamespace std;5int main()6{7string str;8 cin >> str;9int len = str.length();
10constchar *p = str.c_str();
11int n = 0;
12for (int i = 0; i < len / 2; i++)
13 {
14if (p[i] == p[len - 1 - i])
15 {
16continue;
17 }
18else { n = 1; break; }
19 }
20if (n == 1) { cout...
最近在写网络上的东西,程序经过长时间的运行,会出现崩溃的问题,经过DUMP文件的查看,发现在recv的地方接收返回值的时候,数据的长度异常的大差不多16亿多字节.而查看分配后的char指针显示为错误的指针,这可能是接收数据不对应产生的问题解决思路如下: 1.对返回值长度进行判断,如果超过项目内最大的返回值就直接return(比如我项目内的最大返回值为5000,哪么我设定的值为10000); 2.对char指针进行判断,由于这里返回的数据是有的...
一、 代码: 1 #include<stdio.h>2 #include<string.h>3 #include<algorithm>4 #include<iostream>5usingnamespace std;6class A7{8public:9int a,b;
10 A();
11 A(int x,int y);
12 ~A();
13};
14A::A()
15{
16 printf("调用A类构造函数\n");
17}
18 A::A(int x,int y)
19{
20 a=x;
21 b=y;
22 printf("调用A类构造函数\n");
23}
24 A::~A()
25{
26 printf("调用A类析构函数\n");
27}
28class B:...
最近在使用JsonCpp的时候,需要判断当前字符串是否为正确的Json格式,但是Jsoncpp对字符串进行认为是正确的json数据,导致获取的时候出错添加一个验证的方法,在转换之前,提前验证数据是否正确,正确之后才能进行转换 1bool IsJsonIllegal(constchar *jsoncontent)2{3 std::stack<char> jsonstr;4constchar *p = jsoncontent;5char startChar = jsoncontent[0];6char endChar = ‘\0‘;7bool isObject = false;//防止 {}{}的判断8b...
面向对象编程示例:求周长和面积#define _CRT_SECURE_NO_WARNINGS
#include <iostream>using namespace std;//圆的周长
double getCircleGirth(double r)
{return 2 * 3.14*r;
}//源的面积
double getCircleArea(double r)
{return 3.14*r*r;
}//用面向对象实现//圆类
class Circle
{
public:void setR(double r){m_r = r;}double getR(){return m_r;}double getGirth(){return 2 * 3.14 *m_r;}double getArea(){return m_r*m_r*3....
/*通过输入年月日,计算出这一天是星期几,计算这一天是这一年的多少天,判断这一年是否为闰年
*/
#include<iostream>
using namespace std;
struct time
{int year;int month;int day;unsigned int weekday;
};
void initialtime(time & t);//输入初始化时间
void Show(time & t);//显示时间信息
int Weekdaycount(time & t);//计算当日是星期几
int Daycount(time & t);//计算当日是第公元多少天
int Daysyearcount(time & t);//...
#include <iostream>#include <cmath>using namespace std;int main() { int x, y, z; y = 10; cout<< "请输入一个正整数:" << endl; cin >> x; int n = 1; for (; n < 10; n++) { if (x / int((pow(y, n))) == 0) { //用到了幂运算函数pow,返回的值是double型就又int, break; } } cout << "该整数的位数为:" << n << endl; if (n == 1) { cout << (x % 10) << " "; } if (n == 2) { cout << (x % 10) << " "; cout <<...
1:代码如下:// 3.5.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <iostream>
usingnamespace std;
void main()
{int iYear;cout << "请输入年份" << endl;cin >> iYear;if(iYear%4==0){if(iYear%100==0){if(iYear%400==0)cout << "" << endl;elsecout << "" << endl;}elsecout << "这是个闰年" << endl;}elsecout << "这不是个闰年" << endl;
}
/*判断闰年的方法是看该年份是否能被4整除、不能被100整除但...
socket API 调用后的错误判断 perror errno调用完socket API后,需要判断调用是否成功与失败。如果失败,会自动设置errno(是个整数), 并且用perror可以打印出具体的错误信息。注意点:1,如果有多个socket API调用失败,errno存放的是最后一个失败的API#include <iostream>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>//writeusing namespace std;int main(){int sock;sock = socket(AF_INET, 4000, 2000...
题目:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/22/ \ /3443
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/22\ 33链接:https://leetcode-cn.com/problems/symmetric-tree最开始的思路是用层次遍历,每一行看看是不是回文数组,但后来发现例如样例2那样的树就会判断错误,递归也没想好怎么个调用思路。 正确的递归思路:来源:https://leetcode-cn.com/u/haventmetyo...
素数的几种判断方法总结(含C++代码)一、素数定义二、素数判断方法1.定义法2.定义法改进3.取模法5.筛选法改进三、总结
一、素数定义
素数(prime number),也称质数,是指大于1的自然数中因数只有1和它本身的数。例如,2是素数,其只有1和2两个因数;29是素数,其只有1和29两个因数;51不是素数,除了1和51,它还有3和17两个因数,故称51为合数。
二、素数判断方法
给定一个正整数n (n≥2):
1.定义法
即将n除以[2,n-1]的所有整数...
一、背景
略
二、代码
for(auto& it:vec){if(&it==&vec.back()){cout<<"is the last element of vec."<<endl}
}其实就是通过判断当前遍历的元素地址是否与vector中最后一个元素的地址相同,若相同那么就是最后一个元素,不然不是。
三、需要注意的地方
需要注意的是,需要使用auto&,而不时auto。
以下是判断IP是可以可以ping通的接口及依赖的头文件和库。 1 // 需要的头文件2 #include <Winsock2.h>3 #include "iphlpapi.h" 4 5 #pragma comment(lib,"Iphlpapi.lib")6 #pragma comment(lib,"Ws2_32.lib")7 8 // 接口功能:判断IP地址是否能ping通9 // 参数:IP地址或域名
10 BOOL ICMPPing(char* szIP)
11 {
12 HANDLE iHwnd = IcmpCreateFile();
13 char* SendData = "Data Buffer";
14 DW...