CArray 自定义模板出错,C2248: 10C

自定义可以CData ,还定义了全局变量,现在要写 InitCenter这个函数 报错,

//data.h

 #ifndef  _DATA_H_
#define  _DATA_H_

class CData{
public: 
    CData()
    {
        a=_T("");
        b=_T("");
        c=_T("");
        d=_T("");
        e=_T("");
        f=_T("");
        g=_T("");
    }
    CData(CString Da,CString Db,CString Dc,CString Dd,CString De,CString Df,CString Dg)
    {
        a=Da;
        b=Db;
        c=Dc;
        d=Dd;
        e=De;
        f=Df;       
        g=Dg;
    }

    CString a;
    CString b;
    CString c; 
    CString d;
    CString e;
    CString f;
    CString g;
};
#endif

//DataPro。cpp

 #include "stdafx.h"
#include "DataPro.h"


CDataPro::CDataPro(void)
{
}


CDataPro::~CDataPro(void)
{
}


CArray<CData,CData&> CDataPro::InitCenter(CArray<CData,CData&> g_sets) 
{
    return g_center;
}

//DataPro.h

 #pragma once
#include<afxtempl.h>
#include "data.h"
extern CArray<CData,CData&>  g_sets;     //全局变量声明
extern CArray<CData,CData&>  g_clust;   //簇
extern CArray<CData,CData&>  g_center;   //中心点
extern CArray<CData,CData&>  g_similar; //重复数据

class CDataPro
{
public:
    CDataPro(void);
    ~CDataPro(void);

    CArray<CData,CData&> InitCenter(CArray<CData,CData&> g_sets);
    //CArray<data ,data&> ArrayData;  //data模板数组

};


C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)

1个回答

CArray<CData,CData&> CDataPro::InitCenter(CArray<CData,CData&> g_sets) 
这个函数返回 CArray<CData,CData&> 这个对象 ,g_center 是CArray<CData,CData&>,这样的返回会有如下的调用:

会调用 CArray的拷贝构造函数或者 = operator, 如果在 CObject 中是私有的那么就可能产生这个错误。
这个只是猜测,毕竟我也没有执行或者查看代码.
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MFC CArray使用自定义类型时不能指定析构函数?
![图片说明](https://img-ask.csdn.net/upload/201604/15/1460696231_433909.png) 如果使用的自定义类不含指针成员,就没什么问题,另外我发现使用MFC的CList也会出现同样的崩溃.请问错在哪
MOOC题目:实现一个三维数组模版CArray3D,求查错
原题位置: https://www.coursera.org/learn/cpp-chengxu-sheji/programming/rVrWI/bian-cheng-zuo-ye-wen-jian-cao-zuo-yu-mo-ban ``` #include <iostream> using namespace std; // 在此处补充你的代码 template<class T> class CArray3D { public: template<class T> class CArray2D { public: template<class T> class CArray1D { public: CArray1D():a1(NULL){} void set(int k){ if(a1) delete[]a1; a1=new T[k]; } ~CArray1D(){ delete[]a1; } T& operator[](int i){ return a1[i]; } private: T* a1; }; CArray2D():a2(NULL){} void set(int j,int k){ if(a2) delete[]a2; a2=new CArray1D<T>[j]; for(int m=0;m<j;m++) a2[m].set(k); } ~CArray2D(){ delete[]a2; } CArray1D<T>& operator[](int i){ return a2[i]; } private: CArray1D<T>* a2; }; CArray3D():a3(NULL){} CArray3D(int i,int j,int k){ if(a3) delete []a3; a3=new CArray2D<T>[i]; for(int m=0;m<i;m++) a3[m].set(j,k); } ~CArray3D(){ delete []a3; } CArray2D<T>& operator[](int i){ return a3[i]; } private: CArray2D<T>* a3; }; int main() { CArray3D<int> a(3,4,5); int No = 0; for( int i = 0; i < 3; ++ i ) for( int j = 0; j < 4; ++j ) for( int k = 0; k < 5; ++k ) a[i][j][k] = No ++; for( int i = 0; i < 3; ++ i ) for( int j = 0; j < 4; ++j ) for( int k = 0; k < 5; ++k ) cout << a[i][j][k] << ","; return 0; } ```
C++语法问题 望大神解惑
有一结构体: typedef struct { int No; int* Ptr; } TChInfo; 一个CArray 类模板 template <class TType, char ARRAY_SIZE = 100》 class CArray { ... private: int mArrayCtr; TType mArrayBuf[ARRAY_SIZE]; } typedef CArray 《TChInfo, 200》TChList; 类: class Test{ ... private: TChList mChList; } 在Test成员函数中调用则: mChList[0].No 表示什么? 这什么用法?跟容器有关吗 为什么mChList[0]变成了TChInfo类型 而不是mChList类类型 这样表示mChList.mArrayBuf[0].No 与 mChList[0].No等价吗
CStringArray 无 =重载
class CStringMatrix { protected: CArray<CStringArray,CStringArray&> m_stringMatrix; public: CStringMatrix(void); ~CStringMatrix(void); const CString & GetAt(UINT nRow, UINT nCol); void SetAt(const CString& szCell, UINT nRow, UINT nCol); void AddRow(UINT nRow, CStringArray & stringRow); }; //注释一行报错 void CStringMatrix::SetAt(const CString& szCell, UINT nRow, UINT nCol) { CStringArray &stringRow = m_stringMatrix.GetAt(nRow); stringRow.SetAtGrow(nCol,szCell); //m_stringMatrix.SetAtGrow(nRow, stringRow); } //报错信息如下 1>d:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxcoll.h(590) : error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明) 1> d:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(562) : 参见“CObject::operator =”的声明 1> d:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(532) : 参见“CObject”的声明 此诊断出现在编译器生成的函数“CStringArray &CStringArray::operator =(const CStringArray &)”中
VC6移植到VS2010下编译通不过
我从CArray派生了一个CArrayGraph2来定义二维数组 并且也重载operator=, 然后 typedef CArray<int, int> ARRINT; typedef CArrayGraph2<ARRINT, ARRINT> ARRINT2; 定义了一个ARRINT2作为int类型的二维数组,但在函数里只要 一调用该数组的RemoveAll就编译通不过,不晓得是哪有问题, 但是在VC6下,或者在VS2010正常项目下都可以编译通过, 仅仅在动态库工程里编译通不过 动态库里 定义了一个函数 TESTARRAY_API int fntestarray(ARRINT2& arrInterIndex) { arrInterIndex.RemoveAll();//把该行屏蔽就可以编译通过 return 0; } https://pan.baidu.com/s/1boBOiZX 这里可以下载工程源码 报错信息如下: d:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxtempl.h(262): error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明) 1> d:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(535) : 参见“CObject::operator =”的声明 1> d:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(509) : 参见“CObject”的声明 1> 此诊断出现在编译器生成的函数“CArray<TYPE,ARG_TYPE> &CArray<TYPE,ARG_TYPE>::operator =(const CArray<TYPE,ARG_TYPE> &)”中 1> with 1> [ 1> TYPE=int, 1> ARG_TYPE=int 1> ]
CArray 模板类中想删除元素,但是不想让数组移位怎么办
我用MFC CArray模板类来绘制了一个波形图,我想让这个波形图刷新,设置一个缺口刷新, 缺口往右走,边走边刷新,而且只刷新缺口左右的数据,就像数字示波器那样,有个亮点在不停的跑动刷新,而且只有亮点左右刷新。 我用的是双缓冲绘图。我现在就像像上面一样绘图刷新,但是当我使用Add()后不使用RemoveAt()的话绘图就会失败,当我用RemoveAt()后整个波形就会移动的刷新。 可不可以有一种方法或者结构,我把数据一个一个装进去,到绘图的时候拿出来,并且随着缺口的跑动,我删除相应的数据,但是剩下的数据不要占用这个空的地方,也就是不要移位,这样绘图就会呈现出边跑动边刷新波形了。但是怎么办呢? 各位大神帮帮忙吧
C++类模版数组编译时显示不存在相应构造函数,可我有啊
![图片说明](https://img-ask.csdn.net/upload/201506/02/1433207702_969333.jpg) ``` #include <iostream> using namespace std; template <class T> class Carray{ public: Carry(int i = 2);//i是数组长度 bool show_array(); T *set_array(int i, int num); T *enlarge(int oi,int want)//oi为原数组长度,want为需求量 private: T *p;//任何类型数组的指针 int len;//数组长度 }; template<class T> Carray<T>::Carry(int i){ p = new T[i](); len = i; } template<class T> T *Carray<T>::set_array(int len,int num){ /*num为要输入的数量*/ cout<<"请输入一系列相同数据类型的数"<<endl; int j=0 for(;j < len;j++){ cin>>p[j]; } if(j < num-1){ p = enlarge(len,num); for(;j < num;j++) cin>>p[j]; } return p; } template<class T> Carray<T>::enlarge(int oi,int want){ T *np = new T[want](); for(int j = 0;j < oi;j++){ np[j] = p[j]; } len = want; return np; } template<class T> bool Carray<T>::show_array(){ for(int j = 0;j < len;j++) cout<<p[j]<<"\t"; cout<<endl; return 1; } int main(){ Carray<int> a1(); Carray<char>a2(5) return 1; } ```
定义类的数组,若是类中存在CArray的变量,则会报错
在类A中定义变量CArray<float, float> m_Data,同时重载了运算符“=”; 在类B中定义数据组 A array[10]报错,若是定义成A *array并在构造函数中申请10个空间则不会报错。 不太清楚原理,CArray使用的时候需要有什么特别的
VS2010MFC如何查看CARRAY变量中的成员zhi
我试过在监视窗口手动输入变量pArrayDrawList[1].nCircleCenterX, 在代码区浮动窗口只能看到第一个变量pArrayDrawList[0]. 怎样方便的查看其他,谢谢。 另外,我看到有网友写的代码,看不懂,复制再黏贴,将MYARRAY改成pArrayDrawList,报警。 CArray<CPoint,CPoint> myArray; int i; // Allocate memory for at least 32 elements. myArray.SetSize(32, 128); // Add elements to the array. CPoint* pPt = (CPoint*) myArray.GetData(); for (i=0;i < 32;i++,pPt++) *pPt = CPoint(i, 2*i); // Only keep first 5 elements and free extra (unused) bytes. myArray.SetSize(5, 128); myArray.FreeExtra(); #ifdef _DEBUG afxDump.SetDepth( 1 ); afxDump << "myArray: " << &myArray << "\n"; #endif
[MFC]CArray数组初始化问题
``` CArray <CButtonST, CButtonST&>m_Menu_Btn; m_Menu_Btn.SetSize(8); m_Menu_Btn.SetAt(1, m_btn_system); m_Menu_Btn.Add( m_btn_system, m_btn_heyue,m_btn_dayline, m_btn_fenshi, m_btn_one, m_btn_five, m_btn_15, m_btn_onehour ); ``` 我想一次性初始化所有的CButtonST类的所有变量,我应该怎么做。
VS2010MFC如何查看CARRAY数组变量中的结构成员值(不用afxdump)
1.我试过在监视窗口手动输入变量myArray[1].x 2.在代码区浮动窗口只能看到第一个变量myArray[0]. 3.另外一个网友说的可以在监视窗口myArray.ElementAt(0). 但都不行 除了afxdump和trace外,怎样方便的查看其他结构myArray[1].,谢谢。 如下:我需要看myarray中的aa和bb CPoint aa; aa.x=10; aa.y=20; CPoint bb; bb.x=40; bb.y=80; CArray<CPoint,CPoint&> myArray; myArray.Add(aa); myArray.Add(bb); 有快捷可行的方法给分,不需要在工程里写多余的代码。
C++ 关于一个成员函数的实现问题
![图片说明](https://img-ask.csdn.net/upload/201605/26/1464257932_343255.png) /*CArray是我写的、能够运行的、利用类来实现动态创建数组的工程,现在要加一个成员函数,要求如上,我把我理解的操作都写了下来,但我的疑问是在第一个判断条件中,函数返回要怎么写,是要跳过这个函数吗?除了这点,我下面写的实现过程有错吗?在main函数中能够输出对象obj1 resize后的数组吗?请大神们多多指教~*/ #include <iostream> using namespace std; class CArray{ public:CArray(unsigned int length=0); public: void print(); void set(); void resize(unsigned int length=0); private: double *m_data; unsigned int m_nLength; }; void CArray::resize(unsigned int length) { if(length==m_nLength) //函数返回要怎么写?? else delete []m_data; if(length==0) m_data=NULL; else m_data=new double[length]; m_nLength=length; cout<<"请输入"<<m_nLength<<"个数:"; unsigned int i; for(i=0;i<m_nLength;i++) cin>>m_data[i]; } CArray::CArray(unsigned int length) { m_nLength=length; if( length==0) m_data=NULL; else m_data=new double[length]; } void CArray::set() { if( m_nLength==0) m_data=NULL; cout<<"请输入"<<m_nLength<<"个数:"; for(unsigned int i=0;i<m_nLength;i++) cin>>m_data[i]; } void CArray::print() { if( m_nLength==0) m_data=NULL; unsigned int index; for(index=0;index<m_nLength;index++) cout<<m_data[index]<<" "; } int main(int argc, char* argv[]) { unsigned int size; cout<<"请输入数组长度:"; cin>>size; CArray obj(size); obj.set(); cout<<"输入的数组为:"; obj.print(); CArray obj1; obj1.resize(3); obj1.print(); return 0; }
jackson mapper解析带stimestame格式的数据
json中有A,B,C,D四个表的全部数据,格式为{“A”:"[{},{},{}]"},"B":"[{},{},{}]","C":[{},{}] 有四个实体类,对应ABC,在实体类C中有一个字段时java.Util.Date 类型ctime, 那么问题来了,我接收到该jsonStr后经过 json = mapper.readValue(jsonStr, JsonNode.class); ArrayNode carray = (ArrayNode)json.findValue("C"); 获得C中数据carray,然后 for(int i=0;i<carray.size();i++){ c中一条数据=mapper.readValue(carry.get(i), C.class); //(报错,无法映射java.util.Date) } 注:json中ctime样式为"ctime":{"hour":"3","date":"XX","minite":"xx",**}, 求大神帮忙解决一下,如何才能映射出这个实体类
visual studio诊断工具的截取快照无响应
我在WIN10 X64台式机上安装的visual studio2017和2019版本。 调试C++时,诊断工具中开启内存诊断工具后,点“截取快照",无法针对当前断点建立快照。 点击时,下方快速闪过一个"正在拍摄快照"的进度条,瞬间消失后无任何快照。 测试程序只是简单写了一个cpp文件: int main() { char* cArray=new char[10]; int i=10; } 在前两天的时候,上述截取快照都可以使用,近期在vs里安装和卸载插件(番茄助手和resharp c++),今天突然发现有无法截取快照。我对windows操作系统进行了还原(删除所有个人文件)重新安装vs,修复,都没有效果..... 请问达人,上述情况是什么原因? ![图片说明](https://img-ask.csdn.net/upload/201905/18/1558181201_182672.png)
关于数据结构括号匹配的问题
程序写完了,但是一运行就崩了,我不知道错误在哪,求大神指教!下面贴出我的代码: #include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; #define SIZE 100 typedef struct StackNode{ char data; struct StackNode *next; }StackNode,*LinkStack; void InitStack(LinkStack &S); void Push(LinkStack &S,char e); void Pop(LinkStack &S,char &e); bool StackEmpty(LinkStack &S); char GetTop(LinkStack &S); void Matching(char Carray[]); void mud(LinkStack &S,char Carray[]); void main(){ LinkStack S; char Carray[SIZE]; cout<<"请输入一串括号并以#号结束:"; gets(Carray); puts(Carray); Matching(Carray); // if(!StackEmpty(S)) cout<<"栈已空"; //else cout<<"未空"; } void InitStack(LinkStack &S){ //构造一个空栈 S=NULL; } void Push(LinkStack &S,char e){ //压入栈 LinkStack p; p=new StackNode; p->data=e; p->next=S; S=p; } void Pop(LinkStack &S,char &e){ //弹出栈 LinkStack p; if(S==NULL){ printf("该栈已空\n"); exit(1); } p=S; e=S->data; S=S->next; delete p; } bool StackEmpty(LinkStack &S){ //判断栈是否已空 if(S==NULL) return true; else return false; } char GetTop(LinkStack &S){ //返回桟顶元素 return S->data; } void Matching(char Carray[]){ char x; int flag=1,i=0; LinkStack S; InitStack(S); while(Carray[i]!='#'&&flag){ switch(Carray[i]){ case '[' || '(': Push(S,Carray[i]); break; case ']': x=GetTop(S); if(x=='[') Pop(S,x); else flag=0; break; case ')': x=GetTop(S); if(x=='(') Pop(S,x); else flag=0; break; } i++; } if(!StackEmpty(S)&& flag) cout<<"括号匹配"; else cout<<"括号不匹配"; }
依旧无法无法访问 private 成员(在“CObject”类中声明)
``` ``` 写了几个文件 都对操作符 = 重载 构造拷贝,还是出错 ``` //data.h #ifndef _DATA_H_ #define _DATA_H_ class CData { public: CData() { a=_T(""); b=_T(""); c=_T(""); d=_T(""); e=_T(""); f=_T(""); g=_T(""); } CData(CString Da,CString Db,CString Dc,CString Dd,CString De,CString Df,CString Dg) { a=Da; b=Db; c=Dc; d=Dd; e=De; f=Df; g=Dg; } CData (const CData& _data) { this->a=_data.a; this->b=_data.b; this->c=_data.c; this->d=_data.d; this->e=_data.e; this->f=_data.f; this->g=_data.g; } CData& CData::operator=(const CData _data) { this->a= _data.a; this->b= _data.b; this->c= _data.c; this->d= _data.d; this->e= _data.e; this->f= _data.f; this->g= _data.g; return *this; } CString a; CString b; CString c; CString d; CString e; CString f; CString g; }; #endif ``` ``` //CCDemoRecord.h ```#pragma once #include "data.h" typedef CArray<CData,CData&> CDemoRecord;class CCDemoRecord { public: CCDemoRecord(void); ~CCDemoRecord(void); CCDemoRecord(const CCDemoRecord& _data) { this->record.a=_data.record.a; this->record.b=_data.record.b; this->record.c=_data.record.c; this->record.d=_data.record.d; this->record.e=_data.record.e; this->record.f=_data.record.f; this->record.g=_data.record.g; } CCDemoRecord& CCDemoRecord::operator=(const CCDemoRecord _data) { this->record.a=_data.record.a; this->record.b=_data.record.b; this->record.c=_data.record.c; this->record.d=_data.record.d; this->record.e=_data.record.e; this->record.f=_data.record.f; this->record.g=_data.record.g; return *this; } CData record; }; ```
No copy constructor available for class怎么解决呢
``` struct stuFileData { CString csIndex; CString csTime; CString csFunction; CString csLen; CString csData; CString csOneLine; //0为Normal //1000为随机cmd //1001为连接手机中断 int CmdFlag; stuFileData(CString csTmp) { if (csTmp.GetLength()>66) { //略 } else { //略 } } stuFileData() { //略 } stuFileData(const stuFileData &p) { csIndex = p.csIndex; csTime = p.csTime; csFunction = p.csFunction; csLen = p.csLen; csData = p.csData; csOneLine = p.csOneLine; CmdFlag = p.CmdFlag; } }; typedef CArray<stuFileData, stuFileData> DataPacketCArray; ``` DataPacketCArray b; //初始化b,这里不写了 DataPacketCArray a=b; 最后这个时,报 ``` No copy constructor available for class 'CArray<struct stuFileData,struct stuFileData>' ``` 怎么解决呢
VC++打开显示图片问题
for (m_i = 0; m_i <= m_j; m_i++) { m_image.Load(Pathname.GetAt(m_i)); m_image.Draw(pDC->m_hDC,m_Xwide, 0); m_Xwide += m_image.GetWidth(); m_image.Detach(); Pathname.RemoveAt(m_i); } Pathname是 CArray<CString, CString> Pathname 已经初始化Pathname.SetSize(30);,;m_image是CImage m_image; 我的目的是打开文件夹连续选多个文件(图片)然后显示出来,这是在单文本里边做的,但是运行报错。
Kafka实战(三) - Kafka的自我修养与定位
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。 遇到的主要问题: 数据正确性不足 数据的收集主要...
volatile 与 synchronize 详解
Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 volatile 关键字volatile可以用来修饰字段(成员变量),就是告知程序任何对该变量...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
GitHub开源史上最大规模中文知识图谱
近日,一直致力于知识图谱研究的 OwnThink 平台在 Github 上开源了史上最大规模 1.4 亿中文知识图谱,其中数据是以(实体、属性、值),(实体、关系、实体)混合的形式组织,数据格式采用 csv 格式。 到目前为止,OwnThink 项目开放了对话机器人、知识图谱、语义理解、自然语言处理工具。知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性关系,机器人采用了基于知识图谱的语义感...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
微信支付崩溃了,但是更让马化腾和张小龙崩溃的竟然是……
loonggg读完需要3分钟速读仅需1分钟事件还得还原到昨天晚上,10 月 29 日晚上 20:09-21:14 之间,微信支付发生故障,全国微信支付交易无法正常进行。然...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c# clr dll c# 如何orm c# 固定大小的字符数组 c#框架设计 c# 删除数据库 c# 中文文字 图片转 c# 成员属性 接口 c#如何将程序封装 16进制负数转换 c# c#练手项目
立即提问